首先,maven添加必要的依赖
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.5</version> </dependency>
其次,在resources中添加log4j.xml配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p |%c{1}.%M(%L) | %m| %l%n"/> </layout> </appender> <appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="${catalina.base}/logs/demo.log"/> <param name="Append" value="true"/> <param name="encoding" value="GBK"/> <param name="DatePattern" value="'.'yyyy-MM-dd'.log'"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p |%c{1}.%M(%L) | %m| %l%n"/> </layout> </appender> <!--不显示log4j相关log--> <logger name="org.apache"> <level value="WARN"/> </logger> <!--不显示mybatis启动时的log--> <logger name="org.mybatis"> <level value="WARN"/> </logger> <logger name="sales.volume"> <level value="INFO"/> </logger> <!-- 避免服务器启动时出现Mapped xxx的log信息 --> <logger name="org.springframework"> <level value="WARN"/> </logger> <root> <level value="INFO"/> <appender-ref ref="CONSOLE"/> <appender-ref ref="DEFAULT-APPENDER"/> </root> </log4j:configuration>
配置文件中添加了必要的备注信息,${catalina.base}表示tomcat的私有根目录,log在console和文件中都有输出。程序中添加必要的log可以在商用环境出现问题时快速的定位问题。
附上代码