springmvc 加入log4j2日志
2017-08-02 12:25
429 查看
这次记录下springmvc加入log4j2的日志。
1.在pom文件中加入log4j2相关的依赖
2.在web.xml文件中添加Log4j2的相关配置信息
3.在resources下加入log4j2.xml.给出我的仅供参考
4.用LogManager.getLogger()获取到log对象,然后打印日志就ok了
1.在pom文件中加入log4j2相关的依赖
<!-- log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>2.1</version> </dependency>
2.在web.xml文件中添加Log4j2的相关配置信息
<!-- log4j2 --> <context-param> <param-name>isLog4jAutoInitializationDisabled</param-name> <param-value>false</param-value> </context-param> <!-- 默认就会找这个文件,不需要额外配置引用 <context-param> <param-name>log4jConfiguration</param-name> <param-value>classpath:/log4j2.xml</param-value> </context-param> --> <listener> <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class> </listener> <filter> <filter-name>log4jServletFilter</filter-name> <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class> </filter> <filter-mapping> <filter-name>log4jServletFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping>
3.在resources下加入log4j2.xml.给出我的仅供参考
<?xml version="1.0" encoding="UTF-8"?> <!-- status : 这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,会看到log4j2内部各种详细输出 monitorInterval : Log4j能够自动检测修改配置文件和重新配置本身, 设置间隔秒数。 --> <Configuration status="WARN" monitorInterval="30"> <!-- 日志级别 共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF. --> <!-- 配置日志文件输出目录 --> <Properties> <Property name="patternLayout">[%d{yyyy-MM-dd'T'HH:mm:ss,SSSXXX}] %-5p [%t] %c{2} - %m%n]</Property> <!--<Property name="logdir">${sys:catalina.home}</Property>--> <Property name="logdir">D:/tmp</Property> <!--<Property name="logdir">/usr/local/apache-tomcat-8.0.30/logs</Property>--> <!--<Property name="logdir">/data/tomcat8/logs</Property>--> </Properties> <Appenders> <!--这个输出控制台的配置--> <Console name="CONSOLE" target="SYSTEM_OUT"> <!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) --> <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/> <!-- 输出日志的格式 --> <PatternLayout pattern="${patternLayout}"/> </Console> <Async name="ASYNC"> <AppenderRef ref="CONSOLE"/> </Async> <!--<RollingFile name="DebugLogger" fileName="${logdir}/logs/debug/log.log" filePattern="${logdir}/logs/debug/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-log-%i.log" append="true">--> <!-- name 和root 里面定义的相对应 append 决定是否在原日志末尾追加日志。调试的时候可以设置为false,很方便 --> <RollingFile name="DebugLogger" fileName="${logdir}/logs/debug/log.log" filePattern="${logdir}/logs/debug/log-%i.log" append="true"> <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${patternLayout}"/> <!--<SizeBasedTriggeringPolicy size="1MB"/>--> <DefaultRolloverStrategy max="10"/> <Policies> <!--根据时间来滚动--> <!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>--> <!--根据文件大小来滚动--> <SizeBasedTriggeringPolicy size="20 MB"/> </Policies> </RollingFile> <RollingFile name="InfoLogger" fileName="${logdir}/logs/info/log.log" filePattern="${logdir}/logs/info/log-%i.log" append="true"> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${patternLayout}"/> <!--<SizeBasedTriggeringPolicy size="1MB"/>--> <DefaultRolloverStrategy max="10"/> <Policies> <!--根据时间来滚动--> <!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>--> <!--根据文件大小来滚动--> <SizeBasedTriggeringPolicy size="20 MB"/> </Policies> </RollingFile> <RollingFile name="WarnLogger" fileName="${logdir}/logs/warn/log.log" filePattern="${logdir}/logs/warn/log-%i.log" append="true"> <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${patternLayout}"/> <!--<SizeBasedTriggeringPolicy size="1MB"/>--> <DefaultRolloverStrategy max="10"/> <Policies> <!--根据时间来滚动--> <!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>--> <!--根据文件大小来滚动--> <SizeBasedTriggeringPolicy size="20 MB"/> </Policies> </RollingFile> <RollingFile name="ErrorLogger" fileName="${logdir}/logs/error/log.log" filePattern="${logdir}/logs/error/log-%i.log" append="true"> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="${patternLayout}"/> <!--<SizeBasedTriggeringPolicy size="1MB"/>--> <DefaultRolloverStrategy max="10"/> <Policies> <!--根据时间来滚动--> <!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>--> <!--根据文件大小来滚动--> <SizeBasedTriggeringPolicy size="20 MB"/> </Policies> </RollingFile> <!--<RollingFile name="importDataLog" fileName="${logdir}/logs/importData/log.log"--> <!--filePattern="${logdir}/logs/importData/log-%i.log" append="true">--> <!--<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>--> <!--<PatternLayout pattern="${patternLayout}"/>--> <!--<!–<SizeBasedTriggeringPolicy size="1MB"/>–>--> <!--<DefaultRolloverStrategy max="10"/>--> <!--<Policies>--> <!--<!–根据时间来滚动–>--> <!--<!–<TimeBasedTriggeringPolicy modulate="true" interval="1"/>–>--> <!--<!–根据文件大小来滚动–>--> <!--<SizeBasedTriggeringPolicy size="20 MB"/>--> <!--</Policies>--> <!--</RollingFile>--> <!--<appender name="importDataLog" class="org.apache.log4j.DailyRollingFileAppender"> <param name="encoding" value="UTF-8" /> <param name="File" value="${logdir}/logs/importData/log.log" /> <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="${patternLayout}" /> </layout> </appender>--> </Appenders> <loggers> <!--过滤掉spring和mybatis的一些无用的DEBUG信息--> <logger name="org.springframework" level="INFO"></logger> <!--<logger name="org.mybatis" level="INFO"></logger>--> <!-- 设置日志输出级别 --> <root level="debug"> <AppenderRef ref="ASYNC"/> <appender-ref ref="DebugLogger"/> <appender-ref ref="InfoLogger"/> <appender-ref ref="WarnLogger"/> <appender-ref ref="ErrorLogger"/> </root> <!--<logger name="yu" level="info" additivity="false">--> <!--<appender-ref ref="importDataLog"/>--> <!--</logger>--> <!--<logger name="com.inter3i.sun.api.ota.v1.job.schedule.SegmenteJob" level="info" additivity="false">--> <!--<appender-ref ref="importDataLog"/>--> <!--</logger>--> <!--<logger name="com.inter3i.sun.api.ota.v1.job.ImportDataAdapter" level="info" additivity="false">--> <!--<appender-ref ref="importDataLog"/>--> <!--</logger>--> <!--<logger name="com.inter3i.sun.api.ota.v1.job.SegmentAdapter" level="info" additivity="false">--> <!--<appender-ref ref="importDataLog"/>--> <!--</logger>--> </loggers> </Configuration>
4.用LogManager.getLogger()获取到log对象,然后打印日志就ok了
@Controller @RequestMapping("test") public class TestController { private static final Logger logger = LogManager.getLogger(TestController.class); @RequestMapping("index") @ResponseBody public String test(){ logger.info("a info data"); logger.debug("a debug data"); logger.error("a error data"); return "index"; } }
相关文章推荐
- log4j日志格式加入自定义字段信息
- springmvc整合Mybatis的Log4j日志输出问题
- ibatis打印sql日志的方法,在log4j.xml中加入如下配置即可
- 加入log4j.properties项目运行日志管理,将日志文件保存在硬盘文件夹中
- springmvc web项目实现动态改变log4j日志输出
- springmvc 添加 log4j 日志
- springMVC,aop管理log4j,把当前session信息和错误信息打印到日志
- 在用maven搭建的springmvc项目中配置使用log4j日志文件
- SpringMV 4000 C(4):加入log4j 包打印日志输出
- springmvc log4j设置日志输出级别
- springmvc项目log4j日志不打印
- springmvc加入日志管理和事务管理
- 【springmvc (六)】 使用log4j 日志
- springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用
- Web开发加入Log4j日志管理
- log4j - springmvc 中设置日志文件的路径
- maven-springmvc-mybatis-log4j-mysql整合配置-日志配置输出执行SQL
- springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置
- 【springmvc】springmvc实现日志的监听 log4j
- 使用Log4j在程序中加入日志