写这种博客总感觉很低级
但是不得不承认自己从来没有认真的了解过打日志这件事
这里开个头,先从常见的日志配置文件开始,后续再深入了解
“I wish i had” vs “I’m glad i did”
人生会不会留下遗憾,在 20 年之后的这两句话中就能看出。
希望 20 年后的自己,能够很自豪的说:I’m glad i did.
一、self4j
这是一个只定义了标准的日志组件
二、logback
常见配置:logback.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
   | <?xml version="1.0" encoding="UTF-8"?> <configuration>     <property name="APP" value="hisenyuan-log-project"/>          <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">                  <file>/export/log/${APP}/${APP}_detail.log</file>                  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">             <FileNamePattern>/www/log/${APP}/${APP}_detail.%d{yyyy-MM-dd}.log</FileNamePattern>         </rollingPolicy>         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">             <pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{trace-id} - %m%n</pattern>         </encoder>     </appender>          <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">             <pattern>%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{0} %X{trace-id} - %m%n</pattern>         </encoder>     </appender>
           <logger name="kafka.utils.Logging" additivity="false">         <appender-ref ref="FILE"/>     </logger>          <logger name="org.apache.http" additivity="false">         <level value="WARN" />         <appender-ref ref="FILE"/>     </logger>
           <root level="INFO">                  <appender-ref ref="FILE"/>                  <appender-ref ref="CONSOLE"/>     </root> </configuration>
   | 
三、log4j
常见配置:log4j.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
   | <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE log4j:configuration SYSTEM         "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> <log4j:configuration>     <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">         <layout class="org.apache.log4j.PatternLayout">             <param name="ConversionPattern" value="%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{1} - %m%n"/>         </layout>         <filter class="org.apache.log4j.varia.LevelRangeFilter">             <param name="LevelMin" value="INFO"/>             <param name="LevelMax" value="ERROR"/>         </filter>     </appender>
      <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">         <param name="DatePattern" value="'.'yyyy-MM-dd"/>         <param name="Append" value="true"/>         <param name="file" value="/www/log/hisenyuan-log-project.log"/>         <layout class="org.apache.log4j.PatternLayout">             <param name="ConversionPattern" value="%d{yy-MM-dd.HH:mm:ss.SSS} [%-16t] %-5p %-22c{1} - %m%n"/>         </layout>         <filter class="org.apache.log4j.varia.LevelRangeFilter">             <param name="LevelMin" value="INFO"/>             <param name="LevelMax" value="ERROR"/>         </filter>     </appender>
      <logger name="kafka.utils.Logging" additivity="false">         <appender-ref ref="FILE"/>     </logger>
      <logger name="org.apache.http" additivity="false">         <appender-ref ref="FILE"/>     </logger>
      <root>         <priority value="INFO"/>         <appender-ref ref="CONSOLE"/>         <appender-ref ref="FILE"/>     </root>
  </log4j:configuration>
   |