使用log4j如何打印输出到日志文件

maven工程web项目使用log4j如何打印输出日志

1.首先准备工作:搭建工程什么的就不啰嗦了,相信大家都会的。直奔主题啦!
导入log4j相关的maven坐标

<!-- log4j日志相关坐标 -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
		<version>1.7.21</version>
	</dependency>
	<!-- 这里注意:如果是springBoot项目,不必再引入下边这个jar了,
	因为spring-boot-starter本身就已经引入这个jar了。以免造成jar包冲突 -->
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-log4j12</artifactId>
		<version>1.7.21</version>
	</dependency>

2.编写log4j配置文件:log4j.properties

#设置优先级别、以及输出源 stdout输出到控制台,D,F,E保存到文件
log4j.rootLogger = DEBUG,stdout,D,F,E
# 把日志信息输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender					#添加到控制台 
log4j.appender.stdout.Target = System.out									#方式为输出  
log4j.appender.stdout.Threshold = DEBUG 									#优先级为debug
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout				#信息布局方式为自定义
log4j.appender.stdout.layout.ConversionPattern = %d - %m %5p (%c:%L) %n		#自定义布局方式
# 把日志信息输出到文件debug.log
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ../logs/**项目名**/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d - %m %5p (%c:%L) %n
# 把日志信息输出到文件info.log
log4j.appender.F = org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.File = ../logs/**项目名**/info.log
log4j.appender.F.Append = true
log4j.appender.F.Threshold = INFO 
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern = %d - %m (%c:%L)%n
# 把日志信息输出到文件error.log 
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =../logs/**项目名**/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%d - %m (%c\:%L) %n

#ibatis logger config  
log4j.logger.com.ibatis=info  
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug  
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=info  
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=info  
log4j.logger.java.sql.Connection=info  
log4j.logger.java.sql.Statement=info  
log4j.logger.java.sql.PreparedStatement=info

说明:01.日志文件的输出路径可以自定义。
02.log4j.properties是log4j默认加载的文件名,一般不需要修改。
03.日志输出优先级:从高到低依次为error,warn,info,debug,低级别的可以输出高级别的日志,如debug可以输出任何优先级的日志,但是info只能输出info,warn,error级别的日志。
4.stdout,D,F,E这两个有点类似于变量名,可以自定义名称,可以用这两个东西进行控制台或者文件的输出。
3.现场测试

编写测试类

@SpringBootTest
class ApplicationTests {
	Logger log = Logger.getLogger(ApplicationTests.class);
	@Test
	public void testOne() {
		// 记录debug级别的信息
		log.debug(">>This is debug message");
		// 记录info级别的信息
		log.info(">>This is info message");
		// 记录error级别的信息
		log.error(">>This is error message");
		
	}
}

运行结果

注意看日志文件的输出路径,看配置文件配置的路径:如 ../logs/**项目名**/debug.log
找到位置看是不是输出日志文件了。

在这里插入图片描述
debug.log
在这里插入图片描述
info.log
在这里插入图片描述
error.log
在这里插入图片描述
注意:看日志内容,是不是证实了**(低级别的可以输出高级别的日志,如debug可以输出任何优先级的日志)**

4.结尾
log4j的简单使用介绍就到这里了。这只是个入门,大家可以灵活运用,变着换花样来玩弄它了。

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是Spring Boot集成log4j2输出日志文件的步骤: 1. 在pom.xml文件中添加log4j2的依赖 ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 在src/main/resources目录下创建log4j2.xml文件,并配置输出文件的路径、格式等信息。以下是一个示例配置文件: ``` <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <RollingFile name="RollingFile" fileName="logs/log4j2.log" filePattern="logs/log4j2-%d{yyyy-MM-dd}-%i.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10MB"/> </Policies> <DefaultRolloverStrategy max="10"/> </RollingFile> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> <AppenderRef ref="RollingFile"/> </Root> </Loggers> </Configuration> ``` 3. 在Spring Boot的启动类中添加注解@EnableAsync和@ImportResource,开启异步调用和导入log4j2.xml配置文件。 ``` @SpringBootApplication @EnableAsync @ImportResource(locations = {"classpath:log4j2.xml"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 4. 在需要输出日志的类中,使用log4j2的日志记录器进行日志输出。以下是一个示例: ``` import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class SampleClass { private static final Logger logger = LogManager.getLogger(SampleClass.class); public void doSomething() { logger.info("This is a sample log message."); } } ``` 这样就完成了Spring Boot集成log4j2输出日志文件的配置。希望对你有帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值