2017-01-20 7 views
0

Eventlog(例ではORMSLOG)を作成しようとしています。これは、データストアで人間が読める形式でイベントを保存しています。読みやすいイベントを記述する必要があり、これを行うObjectifyの結果を人間が読める形式でデータストアに保存します

List<Device> devices = ofy().transactionless().load().type(Device.class).list(); ORMSLOG.log(ORMSLOG.GET_ALL_DEVICES, "Devices found: " + String.valueOf(devices));

ORMSLOGは、単純なクラスです。データストアに保存された

public class ORMSLOG { 
    public final static String CREATE_DEVICE = "Create Device"; 
    public final static String GET_ALL_DEVICES = "Get all Devices"; 

    public static void log(final String event, final String data) { 
     ofy().save().entity(new Event(event, data)).now(); 
    } 
} 

しかし、データが読めないとこのようになります:私は人間が読めるテキストにオブジェクトへの参照を変換する必要が

ORMSLOG data

答えて

0

toStringメソッドを呼び出すことで、オブジェクトの文字列表現を記録するだけです。 DeviceクラスのtoStringメソッドをオーバーライドしていないため、オブジェクトへのポインタが取得されています。 DeviceクラスのtoStringメソッドをオーバーライドして、返す状態を返すと、はるかに良い結果が得られます。ほとんどのIDE(Eclipseなど)にはtoStringメソッドを生成するオプションがあります。

関連する問題