• Log4j日志配置记录


    在项目中使用log4j,大致过程如下:

    1.web.xml中配置对log4j配置文件的加载。如下

    <context-param>

                       <param-name>logbackConfigLocation</param-name>

                       <param-value>file:${config.root}/logback.xml</param-value>

             </context-param>

    <context-param>
      <param-name>log4jConfigLocation</param-name>
      <param-value>/WEB-INF/conf/log4j.xml</param-value>
    </context-param>
    <listener>
      <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    2.代码中对log4j的使用,进行日志的打印。

    有两种使用方式,一种是别名应用,一种是包引用。

    别名使用就是在logback.xml配置文件中配置别名,然后在代码中引用别名,从而把日志打印到对应别名所在的目录下。如下:

    protected static final Logger  logger = Logger.getLogger("quartz");

             包引用相对比较简单,在代码中只需要获得类的实例即可。日志的打印位置为logback.xml配置中对应包所在的路径。如下:

             private static final Logger logger = Logger.getLogger(PCITransferServiceImpl.class);

    3.Logback.xml配置详解

    3.1.别名配置:

    打印日志的路径:

      <appender name="EXT-INTEGRATION-P2P-APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

                       <encoder>UTF-8</encoder>

                       <file>/opt/logs/appserver/p2p/ext_integration_p2p.log</file>

                       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

                                <fileNamePattern>/opt/logs/appserver/p2p/ext_integration_p2p.log.%d{yyyy-MM-dd}.%i</fileNamePattern>

                                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

                                         <!-- 当文件大小达到1GB时,会自动按照fileNamePattern规定格式生成新的日志文件 -->

                                         <maxFileSize>1GB</maxFileSize>

                                </timeBasedFileNamingAndTriggeringPolicy>

                       </rollingPolicy>

                       <layout class="ch.qos.logback.classic.PatternLayout">

                                <Pattern>[%date{yyyy-MM-ddHH:mm:ss}] %p %C %t %X{logPrefix}, %m%n</Pattern>

                       </layout>

             </appender>

    别名对路径的引用,别名为quartz:

      <logger name=" quartz " level="info" additivity="false">

                       <appender-ref ref=" EXT-INTEGRATION-P2P-APPENDER " />

                       <appender-ref ref="ERROR-P2P-APPENDER" />

             </logger>

    日志都打印在ext_integration_p2p.log中。

    3.2.包引用配置

             <appender name="CORE-SERVICE-P2P-APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

                       <encoder>UTF-8</encoder>

                       <file>/opt/logs/appserver/p2p/core_service_p2p.log</file>

                       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

                                <fileNamePattern>/opt/logs/appserver/p2p/core_service_p2p.log.%d{yyyy-MM-dd}.%i</fileNamePattern>

                                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

                                         <!-- 当文件大小达到1GB时,会自动按照fileNamePattern规定格式生成新的日志文件 -->

                                         <maxFileSize>1GB</maxFileSize>

                                </timeBasedFileNamingAndTriggeringPolicy>

                       </rollingPolicy>

                       <layout class="ch.qos.logback.classic.PatternLayout">

                                <Pattern>[%date{yyyy-MM-ddHH:mm:ss}] %p %C %t %X{logPrefix}, %m%n</Pattern>

                       </layout>

             </appender>

    对路径的引用:

      <logger name="com.netfinworks.appserver.p2p" level="info" additivity="false">

                       <appender-ref ref="CORE-SERVICE-P2P-APPENDER" />

                       <appender-ref ref="ERROR-P2P-APPENDER" />

             </logger>

    com.netfinworks.appserver.p2p下的日志都打印在core_service_p2p.log中。

    错误日志配置:

             <appender name="ERROR-P2P-APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

                       <encoder>UTF-8</encoder>

                       <file>/opt/logs/appserver/p2p/error.log</file>

                       <filter class="ch.qos.logback.classic.filter.LevelFilter">  

                                <level>ERROR</level>

                                <onMatch>ACCEPT</onMatch>

                                <onMismatch>DENY</onMismatch>

                       </filter>

                       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

                                <fileNamePattern>/opt/logs/appserver/p2p/error.log.%d{yyyy-MM-dd}.%i</fileNamePattern>

                                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

                                         <!-- 当文件大小达到1GB时,会自动按照fileNamePattern规定格式生成新的日志文件 -->

                                         <maxFileSize>1GB</maxFileSize>

                                </timeBasedFileNamingAndTriggeringPolicy>

                       </rollingPolicy>

                       <layout class="ch.qos.logback.classic.PatternLayout">

                                <Pattern>[%date{yyyy-MM-ddHH:mm:ss}] %p %C %t %X{logPrefix}, %m%n</Pattern>

                       </layout>

             </appender>

    打印控制台日志配置:

      <appender name="CONSOLE-APPENDER" class="ch.qos.logback.core.ConsoleAppender">

                       <encoder>UTF-8</encoder>

                       <layout class="ch.qos.logback.classic.PatternLayout">

                                <Pattern>[%date{yyyy-MM-ddHH:mm:ss}] %p %C %t %X{logPrefix}, %m%n</Pattern>

                       </layout>

             </appender>

    引用配置:

      <root level="info">

                       <appender-ref ref="DEFAULT-APPENDER" />

                       <appender-ref ref="ERROR-APPENDER" />

             </root>

  • 相关阅读:
    js 一维数组转二维数组
    mongoose 系列设置
    手写系列
    设置未登录的导航守卫
    vue 添加设置别名文件
    移动端视口标签
    小程序跳转页面怎么携带数据
    data数据复杂时怎么setData
    小程序注意的点 text标签中一定 不要换行
    小程序用户登录
  • 原文地址:https://www.cnblogs.com/yanghuiping/p/5075826.html
Copyright © 2020-2023  润新知