首页 > 其他分享 >slf4j 和 log4j合用的(Maven)配置

slf4j 和 log4j合用的(Maven)配置

时间:2023-06-06 13:36:18浏览次数:38  
标签:输出 properties Maven slf4j file log4j appender out


简述:

 

添加logger的日志输出,下面是配置信息供备忘

 

 

步骤:

1. 在Maven的porn.xml 文件中添加dependency如下


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

 

之后就会添加三个包,

 

 

 

2. 之后在项目下添加log4j.properties

 

项目路径如下,

 

 

 

log4j.properties

 


#config root logger  
log4j.rootLogger = INFO,system.out  
log4j.appender.system.out=org.apache.log4j.ConsoleAppender  
log4j.appender.system.out.layout=org.apache.log4j.PatternLayout  
log4j.appender.system.out.layout.ConversionPattern=MINAServer Logger-->%5p{%F:%L}-%m%n  
  
#config this Project.file logger  
log4j.logger.thisProject.file=INFO,thisProject.file.out  
log4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.thisProject.file.out.File=logContentFile.log  
log4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout

 

 

3. 在代码中添加

 


private static final Logger logger = LoggerFactory.getLogger(MINAServer.class);

 

接下来就能输出了,


logger.info("now {}" , "starting server");

输出如下:

 

 

下面是log4j.properties的配置信息,在此要感谢前辈提供的资源

 

#输出格式

#%m 输出代码中指定的消息

#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

#%r 输出自应用启动到输出该log信息耗费的毫秒数

#%c 输出所属的类目,通常就是所在类的全名

#%t 输出产生该日志事件的线程名

#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

 

格式化例子:

log4j.appender.thisProject.file.out.layout.ConversionPattern=log4j-->%d{yyyy MMM dd HH:mm:ss,SSS}%5p{%F\:%L}-%m%n

注意:

 

1.信息格式化的小知识

    这些参数中间可能会参杂一些数字比如:%5p它的意思就是在输出此参数之前加入多少个空格,还有就是里面的“\”的作用是转义字符

 

2.log4j.properties文件放置位置

    (1)在java project项目中,它放置的位置是在项目的根目录下而不是在项目的src目录下。

    (2)在javaweb项目中它放置的位置是在src目录下,因为这个时候tomcat会去默认的加载它的,不需要我们去手动的加载log4j的配置文件,只需要根据配置获取自己需要的logger实例即可,由此我们可以知道如果我们使用的不是tomcat容器的话,是不是需要自己手动加载或者至少要配置一下呢?比如使用Websphere等非apache服务器。

 

3.对于java web项目里面的日志的位置配置

    (1)如果是要指定日志文件的位置为D盘下的log.txt文件。

    log4j.appender.thisProject.file.out.File=d:\\log.txt

    (2)如果指定日志文件的位置为当前的tomcat的工作目录下的某个文件

    log4j.appender.thisProject.file.out.File=${catalina.home}/logs/logs_tomcat.log

 

4.log4j的加载机制

 

    log4j.properties加载机制?其实log4j.properties只是log4j的配置文件。程序启动时,log4j组件去读log4j.properties,和读取普通配置文件没多大区别。获取用户配置的一些log4j的属性值,调用想应该的方法为log4j属性设置。

 

    把log4j.properties当作一个struts.xml或者一个hibernate-cfg.xml就可以了。但不同的是,log4j不像struts和hibernate,它不是一个独立的组件,没法自己完成初始化,一般都是什么组件需要它 就去初始化。比如,hibernate默认的日志组件就是log4j,在hibernate初始化的时候它会去初始化log4j。如果你没配置log4j.properties,hibernate会抛出异常,但还是可以正常初始化。

标签:输出,properties,Maven,slf4j,file,log4j,appender,out
From: https://blog.51cto.com/u_2650279/6424089

相关文章

  • Maven(创建私有仓库和设置权限)
    为区分项目,要为项目建立私有仓库 1.添加仓库    2.填写私有仓库信息,然后保存 RiilRelease仓库 RiilSnapshot仓库   3.配置成功 4.添加权限    5.添加RiilRelease的权限和RiilSnapshot的权限    6.检查是否配置成功    7.创建角色,分配权限    ......
  • Maven常用插件使用说明之deploy
    Maven常用插件使用说明之deployMaven的deploy插件用于把Maven自动构建生成的版本发布到中央代理仓库如Nexus服务器上,也能把第三方依赖库(如Jar包)或一个独立的Jar包直接发布到中央代理仓库供大家共享使用。下面介绍deploy插件的具体用法。假设Nexus服务器已成功安装,Nexus控制台URL......
  • Maven project 中,运行时获取某依赖的版本号
    <dependency> <groupId>cn.xs</groupId> <artifactId>qishi-api</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>  // D:\mvnrepository\cn\xs\qishi-api\0.0.1-SNAPSHOT\qishi-api......
  • 使用Eclipse构建Maven的SpringMVC项目
    使用Eclipse构建Maven的SpringMVC项目      首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e。     用MyEclipse安装Maven插件,建出的Maven项目有些问题。一是,发布tomcat的时候resources总是不会被发布到tomcat下;二是,把WEB-INF下的cla......
  • Maven部署构件至远程仓库
    我们知道,Maven仓库包括本地仓库和远程仓库,而远程仓库又包括中央仓库,私服,Jboss仓库和Java.net仓库等。私服,即私有的仓库服务器,它不仅可以降低中央仓库负荷,节省外网带宽,还可以加速Maven构建,自己部署构件等,从而高效地使用Maven。对于私服,我们可以使用仓库管理软件来创建自己的私有仓......
  • maven-jar-plugin 定制包含哪些内容,不包含哪些
    http://maven.apache.org/plugins/maven-jar-plugin/usage.html控制打包内容<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-pl......
  • maven-antrun-plugin
    1) 依赖 2)默认的classpath http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.htmlmaven.compile.classpathmaven.runtime.classpathmaven.test.classpathmaven.plugin.classpath3)示例<targetname="slice2java"><mk......
  • 26) minify-maven-plugin 合并压缩 js css文件
     http://samaxes.github.io/minify-maven-plugin/minify-mojo.html <build><plugins><plugin><groupId>com.samaxes.maven</groupId><artifactId>minify-maven-plugin</artifactId><version&g......
  • 27) yuicompressor-maven-plugin 合并压缩 js css文件
    http://davidb.github.io/yuicompressor-maven-plugin/compress-mojo.html<plugin><groupId>net.alchim31.maven</groupId><artifactId>yuicompressor-maven-plugin</artifactId><version>1.5.1</......
  • idea添加maven模块
    pom.xml右键AddasMavenProject......