springboot整合log4j2总结

1.在一开始引入的时候一值报错,原因是springboot自带了日志模块,所以我们要先把默认的去除掉,再添加

具体办法:

 </dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		<exclusions><!-- 去掉springboot默认配置 -->  
    <exclusion>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-logging</artifactId>  
    </exclusion>  
</exclusions>  
	</dependency>
		<!-- log4j2 -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-log4j2</artifactId>
	</dependency>	
		<!-- 日志桥接包   桥接包的版本须对应log4j2的版本 -->
	<dependency>
	    <groupId>org.apache.logging.log4j</groupId>
	    <artifactId>log4j-slf4j-impl</artifactId>
	</dependency>
	<!-- 日志框架(门面) -->
	<dependency>
	    <groupId>org.slf4j</groupId>
	    <artifactId>slf4j-api</artifactId>
	</dependency>
2.在写log4j2.xml文件时总是出问题,特别时提示什么格式问题,实际上是代码可能出现了写错的问题。很多都是字符串,所以没有错误提示。主要是仔细检查下相关代码十分书写正确

下面给出我修改过能够使用的代码

	<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" monitorInterval="60" strict="true">
	<properties>
		<property name="logpath">D:/log</property>
		<property name="charset">UTF-8</property>
		<property name="pattern">%-d{yyyy-MM-dd HH:mm:ss.SSS} %-5level  %p %X{ip} %t %C %X{requestId} %M %m %n</property>
	</properties>
	<appenders>
		<Console name="console" target="SYSTEM_OUT">
			<PatternLayout pattern="${pattern}" charset="${charset}"/>
		</Console>
<!-- 		同步输出到本地日志 -->
		<File name="log" fileName="${logpath}/log.log" append="false">
			<PatternLayout pattern="${pattern}"/>
		</File>
<!-- 		sys:user.home项目路径 -->
		<RollingFile name="RollingFileInfo" fileName="${logpath}/info.log" filePattern="${logpath}/info-%d{yyyy-MM-dd}-%i.log">
			<!-- 日志输出过滤 -->
			<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
			<PatternLayout pattern="${pattern}"/>
			<!-- 日志滚动策略 -->
			<Policies>
<!-- 				时间滚动策略 -->
				<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
				<SizeBasedTriggeringPolicy size="50MB"/>
			</Policies>
							<!-- 最多保存几天的日志 -->
				<DefaultRolloverStrategy max="20"/>
		</RollingFile>
		<!-- fileName生成文件名及路径,filepattern文件转移及重命名规则,patternlayout输出格式 -->
		<RollingFile name="RollingFileWarn"  fileName="${logpath}/warn.log" filePattern="${logpath}/warn-%d{yyyy-MM-dd}-%i.log">
			<ThresholdFilter level="warn" onMatch="ACCEPT" onMisMatch="DENY"/>
			<PatternLayout pattern="${pattern}"/>
			<Policies>
				<TimeBasedTriggeringPolicy interval="6" modulate="true"/>
				<SizeBasedTriggeringPolicy size="50MB"/>
			</Policies>
			<DefaultRolloverStrategy max="20"/>
		</RollingFile>
		<RollingFile name="RollingFileError"  fileName="${logpath}/error.log" filePattern="${logpath}/error-%d{yyyy-MM-dd}-%i.log">
			<ThresholdFilter level="error" onMatch="ACCEPT" onMisMatch="DENY"/>
			<PatternLayout pattern="${pattern}"/>
			 <Policies>
				<TimeBasedTriggeringPolicy interval="6" modulate="true"/>	//时间循环
				<SizeBasedTriggeringPolicy size="50MB"/>	//大小限制
			</Policies>
			<DefaultRolloverStrategy max="20"/>	//文件数量限制
		</RollingFile>
	</appenders>
	<loggers>
		<logger name="org.springframework" level="INFO"/>
		<logger name="org.mybatis" level="INFO"/>
		<root level="all">
			<appender-ref ref="console"/>
			<appender-ref ref="RollingFileWarn"/>
			<appender-ref ref="RollingFileError"/>
			<appender-ref ref="RollingFileInfo"/>
		</root>
	</loggers>
</Configuration>

在使用上就是在包里面引入日志变量

private  static final Logger logger = LoggerFactory
		.getLogger(HomeController.class); //这里填入包名

然后在方法中直接使用

@RequestMapping(value="/index",method=RequestMethod.GET)
public String login1(Model model) {
	logger.debug("controller");
	return "test";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值