Nie umiem sobie poradzić z dodaniem zapisu logów do pliku , bardzo rzadko używam java a chciałbym wykorzystać istniejący projekt na moje potrzeby. Jak przy takim zapisie zrobić z tego String albo tablicę bajtów by można było zapisywać do pliku to co wyświetlane jest na konsoli.
// Add a listener to the model to observe the LIN frames on the bus
// Here you can listen the messages from the LIN bus, includding those transmitted by the tool
initdll.getModel().readLINFrames.addListener(new ListChangeListener<LINWorkingFrame>() {
@Override
public void onChanged(ListChangeListener.Change<? extends LINWorkingFrame> c) {
if(c.next()) {
// Log LIN Frame information on the console
Formatter formatterFrameData = new Formatter();
for (byte b : c.getAddedSubList().get(0).FrameInfo.FrameData) {
formatterFrameData.format("%02X ", b);
}
Logger.getGlobal().info( String.format(
"Timestamp: %f Baud: %d PID(ID): %02X(%02X) Length: %d Data&Checksum: %s Error: %d",
c.getAddedSubList().get(0).FrameInfo.time, // timestamp
(0xFFFF & c.getAddedSubList().get(0).FrameInfo.baud ), // baudrate
(0xFF & c.getAddedSubList().get(0).FrameInfo.FrameID ), // frame PID
(0x3F & c.getAddedSubList().get(0).FrameInfo.FrameID ), // frame ID
(0xFF & c.getAddedSubList().get(0).FrameInfo.bytecount ), // length (including checksum)
formatterFrameData.toString(), // data bytes & checksum
(0xFFFF & c.getAddedSubList().get(0).FrameInfo.m_OnReceive_error ) // 0=No Error; 1=Bus Time-out Error; 3=Timer Error;
// 4=Status Error; 5=Event Marker Error; 6=Next Frame Header Received Error
));
}
}
});
// Library Initialization
initdll.startReadContinuos(); // Start the LIN continuous read process