关于java log4f使用记录-慢慢补充

首先需要包,这里我是手动去apache官网下载的https://www.apache.org/dyn/closer.lua/logging/log4j/2.11.0/apache-log4j-2.11.0-bin.zip

点击页面中的http://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4j/2.11.0/apache-log4j-2.11.0-bin.zip下载

不过里面少一个log4j-1.2.16.jar 包需要另外下载

maven坐标

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.6</version>
        </dependency>

我用的是jdk1.7 有maven 和普通的这里都会写

原理图如下:


首先是普通的java 项目,


步骤 创建项目导入3个包,放入log4j.properties 配置,-(注意重点)在java项目中(WEB除外)这个文件放的位置要放在src目录下.

然后写个类去输出点日志

package test;

import org.apache.log4j.Logger;

public class Log4jTest {

	public static void main(String[] args) {
		//定义logger对象,后面的参数和properties文件中是有对应关系的,如果没有就会报错
		Logger logger = Logger.getLogger("register");
		Logger logger2 = Logger.getLogger("login");
		//输出日志
		logger.info("register");
		logger.info("1");
		logger.info("2");
		logger2.info("login");
		logger2.info("3");
		logger2.info("4");
		
	}
}


log4j.properties

(注意)路径有个坑 就是绝对路径后面有个F\ 有个反斜杠,之前一直没有打印出日志就是因为少一个这个!!

log4j.rootLogger=register,login

log4j.logger.register=INFO,register    
log4j.appender.register=org.apache.log4j.DailyRollingFileAppender   
log4j.appender.register.File=F\:/logs/register.log
log4j.appender.register.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.register.layout=org.apache.log4j.PatternLayout  
log4j.appender.register.layout.ConversionPattern=%d %p [%c %L %l] - %m%n
log4j.additivity.register=false


log4j.logger.login=INFO,login 
log4j.appender.login=org.apache.log4j.DailyRollingFileAppender   
log4j.appender.login.File=F\:/logs/login.log
log4j.appender.login.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.login.layout=org.apache.log4j.PatternLayout  
log4j.appender.login.layout.ConversionPattern=%d %p [%c %L %l] - %m%n
log4j.additivity.login=false

大致说明下配置之后会有详细的,

log4j.rootLogger=register,login 这里可以理解为对象,这里创建了2个对象,可以分别做不同的配置

这个是大小写敏感的注意了!!

log4j.logger.register=INFO,register  这里意思是说我只输出INFO级别之上包括自己级别的信息

log4j.appender.XXX.File 指定文件输出路径(没有就自动创建文件夹)

log4j.additivity.login=false 设置这个子LOGGER输出日志不在父级别Logger里面输出 

再次需要注意路径是绝对路径的时候 盘符(D盘F盘)后面要加个 ''\'' 之前一直找不到不生成文件的问题就是这个原因!!

详细可以查看https://www.cnblogs.com/0201zcr/p/5725508.html


按照上面配置的就可以创建出对应的日志文件了


之后就是MAVEN项目下的

代码是一样的,只需要注意log4j.properties文件放的位置 


quickStart的是这src/main/java这级目录


web的是在src/main/resources这级目录下.

web下面路径可以这样写:

log4j.appender.info.File=${webApp.root}/WEB-INF/logs/info.log

在web.xml里面配置

<!-- 设置log4j的日志保存位置为:项目\webapp\WEB-INF\logs -->
	<context-param>  
        <param-name>webAppRootKey</param-name>  
        <param-value>webApp.root</param-value>  
      </context-param>  
     <context-param>  
      <param-name>log4jConfigLocation</param-name>  
        <param-value>classpath:log4j.properties</param-value>  
     </context-param>  

最后生成的文件位置在


目前就这些.等遇到其他的问题的时候再做补充.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值