日誌列印
阿新 • • 發佈:2020-08-04
1.非同步列印
<appender name="ERROR_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/error.log.%d{yyyy-MM-dd}</fileNamePattern> <maxHistory>3</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${ENCODER_PATTERN}</pattern> <charset>UTF-8</charset> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 非同步 --> <appender name="ERROR_APPENDER_ASYNC" class="ch.qos.logback.classic.AsyncAppender"> <discardingThreshold>0</discardingThreshold> <queueSize>2048</queueSize> <appender-ref ref="ERROR_APPENDER"/> </appender>
<logger name="RPC_DETAIL_LOGGER" level="INFO" additivity="false">
<appender-ref ref="RPC_DETAIL_APPENDER_ASYNC"/>
</logger>
<root level="INFO">
<appender-ref ref="INFO_APPENDER_ASYNC"/>
<appender-ref ref="WARN_APPENDER_ASYNC"/>
<appender-ref ref="ERROR_APPENDER_ASYNC"/></root>
2.日誌資訊中總是列印行號可能導致系統緩慢
日誌資訊中總是列印行號可能導致系統緩慢
列印行號需要進行丟擲,丟擲多了系統會緩慢;
public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); StackTraceElement[] stacks = new Throwable().getStackTrace(); int stacksLen = stacks.length; sb.append("class: " ).append(stacks[1].getClassName()).append("; method: ").append(stacks[1].getMethodName()).append("; number: ").append(stacks[1].getLineNumber()); return sb.toString(); } String _methodName = new Exception().getStackTrace()[1].getMethodName();// 獲得呼叫者的方法名 String _thisMethodName = new Exception().getStackTrace()[0].getMethodName();// 獲得當前的方法名