11/*
2- * Copyright (C) 2013 Sergey Zubarev, info@js-labs.org
2+ * Copyright (C) 2022 Sergey Zubarev, info@js-labs.org
33 *
44 * This file is a part of JS-Collider framework.
55 *
1919
2020package org .jsl .collider ;
2121
22+ import java .text .SimpleDateFormat ;
2223import java .util .Calendar ;
2324import java .util .Date ;
2425import java .util .logging .Formatter ;
25- import java .util .logging .Level ;
2626import java .util .logging .LogRecord ;
2727
2828public class LogFormatter extends Formatter
2929{
30- private static final String s_packageName = getPackageName ();
31-
3230 private static String getPackageName ()
3331 {
3432 Class cls = LogFormatter .class ;
@@ -38,44 +36,36 @@ private static String getPackageName()
3836 return canonicalName .substring ( 0 , length );
3937 }
4038
41- public String format ( LogRecord logRecord )
39+ public String format (LogRecord logRecord )
4240 {
43- StringBuilder sb = new StringBuilder ();
44- Calendar calendar = Calendar .getInstance ();
45-
46- calendar .setTime ( new Date (logRecord .getMillis ()) );
47- String str = String .format ( "%04d-%02d-%02d %02d:%02d:%02d.%03d t@%02d " ,
48- calendar .get (Calendar .YEAR ),
49- calendar .get (Calendar .MONTH ),
50- calendar .get (Calendar .DAY_OF_MONTH ),
51- calendar .get (Calendar .HOUR_OF_DAY ),
52- calendar .get (Calendar .MINUTE ),
53- calendar .get (Calendar .SECOND ),
54- calendar .get (Calendar .MILLISECOND ),
55- logRecord .getThreadID () );
56- sb .append ( str );
57-
58- if (logRecord .getLevel ().intValue () >= Level .CONFIG .intValue ())
59- {
60- sb .append ( logRecord .getLevel ().getName ().toUpperCase () );
61- sb .append ( " " );
62- }
41+ final StringBuilder sb = new StringBuilder ();
42+ final SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss.SSS" );
43+ final Date date = new Date (logRecord .getMillis ());
44+ sb .append (simpleDateFormat .format (date ));
45+ sb .append ("t@" );
46+ sb .append (logRecord .getThreadID ());
47+ sb .append (' ' );
48+ sb .append (logRecord .getLevel ().getName ());
49+ sb .append (' ' );
6350
64- String className = logRecord .getSourceClassName ();
65- if (className .startsWith (s_packageName ))
66- sb .append ( className .substring (s_packageName .length ()) );
51+ final String className = logRecord .getSourceClassName ();
52+ final int idx = className .lastIndexOf ('.' );
53+ if (idx < 0 )
54+ sb .append (className );
55+ else
56+ sb .append (className .substring (idx +1 ));
6757
68- sb .append ( "." );
69- sb .append ( logRecord .getSourceMethodName () );
58+ sb .append ('.' );
59+ sb .append (logRecord .getSourceMethodName ());
7060
71- String msg = logRecord .getMessage ();
61+ final String msg = logRecord .getMessage ();
7262 if (msg .length () > 0 )
7363 {
74- sb .append ( ": " );
75- sb .append ( logRecord .getMessage () );
64+ sb .append (": " );
65+ sb .append (logRecord .getMessage ());
7666 }
7767
78- sb .append ( " \n " );
68+ sb .append ('\n' );
7969 return sb .toString ();
8070 }
8171}
0 commit comments