web 工程添加日志管理

来源:互联网 发布:湖北襄阳农村淘宝招募 编辑:程序博客网 时间:2024/05/22 20:28

1. 添加日志依赖

本文采用 logback-classic1.0.13. jar 包,该 jar 包内含 slf4j-api.jar ,依赖如下:

<!-- <dependency>     <groupId>org.slf4j</groupId>     <artifactId>slf4j-log4j12</artifactId>     <version>${slf4j.version}</version> </dependency> --><dependency>    <groupId>ch.qos.logback</groupId>    <artifactId>logback-classic</artifactId>    <version>1.0.13</version>    <scope>runtime</scope></dependency>

2. 日志配置文件

在 /src/main/resources 目录下添加 logback.xml 文件,用于配置日志记录策略,定义各个源程序的日志的级别,logback.xml 文件如下:

logback.xml

<?xml version="1.0" encoding="UTF-8"?><configuration>    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>        </encoder>    </appender>    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/web-proj.log</file>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <fileNamePattern>logs/web-proj.%d{yyyy-MM-dd}.log</fileNamePattern>            <maxHistory>60</maxHistory>        </rollingPolicy>        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>        </encoder>    </appender>    <appender name="perf4j" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/perf4j.log</file>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <fileNamePattern>logs/perf4j.%d{yyyy-MM-dd}.log</fileNamePattern>            <maxHistory>60</maxHistory>        </rollingPolicy>        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>        </encoder>    </appender>    <appender name="businessLogFile" class="ch.qos.logback.core.rolling.RollingFileAppender">        <file>logs/proj-business.log</file>        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">            <fileNamePattern>logs/proj-business.%d{yyyy-MM-dd}.log</fileNamePattern>            <maxHistory>60</maxHistory>        </rollingPolicy>        <encoder>            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>        </encoder>    </appender>    <logger name="business" level="INFO" additivity="false">        <appender-ref ref="businessLogFile" />    </logger>    <logger name="org.perf4j.TimingLogger" additivity="false">        <level value="INFO" />        <appender-ref ref="perf4j" />        <appender-ref ref="console" />    </logger>     <!-- project default level -->    <logger name="cn.xxx.proj" level="info" />    <logger name="org.springframework.web" level="warn" />    <root level="INFO">        <appender-ref ref="console" />        <appender-ref ref="rollingFile" />    </root></configuration>


3. 程序中应用日志

// 获取 Loggerprivate static final Logger LOG = LoggerFactory.getLogger(当前类名.class);