jPOS icon indicating copy to clipboard operation
jPOS copied to clipboard

RotateLogListener timezone

Open ar opened this issue 5 years ago • 0 comments

Galih reports:

hi guys,
it seems like the log time at time exceeded - log rotated and iso msg seems like have a different format time
<?xml version="1.0" encoding="UTF-8"?>
<logger class="org.jpos.util.DailyLogListener">
<log realm="rotate-log-listener" at="Mon Dec 09 00:00:14 WIB 2019">
  maxage feature is disabled.
</log>
<log realm="rotate-log-listener" at="Tue Dec 10 00:00:21 WIB 2019">
  time exceeded - log rotated
</log>
</logger>
~
<log realm="channel/10.100.111.181:7990" at="2019-12-10T09:45:16.937">
 <send>
   <isomsg direction="outgoing">
     <!-- org.jpos.iso.packager.GenericPackager[iso_spec_pce.xml] -->
     <field id="0" value="0800"/>
     <field id="7" value="1210094516"/>
     <field id="11" value="088717"/>
     <field id="70" value="001"/>
   </isomsg>
 </send>
</log>

Alcarraz points out we use this (new Date()) at rotate time:

 protected synchronized void logDebug (String msg) {
        if (p != null) {
            p.println ("<log realm=\"rotate-log-listener\" at=\""+new Date().toString() +"\">");
            p.println ("   "+msg);
            p.println ("</log>");
        }
    }

but

sb.append("" at=""); sb.append(LocalDateTime.ofInstant(dumpedAt, ZoneId.systemDefault()));


on regular events.

We need to use ZoneId at rotate time too.

ar avatar Dec 10 '19 19:12 ar