【log4j】配置

#输出格式
#%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会抛出异常,但还是可以正常初始化。

【log4j】配置

时间: 2024-10-17 13:55:03

【log4j】配置的相关文章

log4j配置后行号乱码显示为?问号

debug="true"  classpathref="accrual.path" > 首发于 http://blog.xfuse.cn 参考文档 http://ant.apache.org/manual/CoreTasks/javac.html Log4j配置 log4j.appender.C1.layout.ConversionPattern=%F(%L)-- %-4r %-5p [%t] %37c %3x - %m%n 如果是用JAVAC编绎,那么直接加

log4 log4j配置

  log4j配置 Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties格式的文件. 1.log4j.properties配置方法: 步骤: 0.下载log4j的jar包: 1.新建java项目: 2.新建包: 3.新建类: 4.在src下新建log4J.properites文本文件[日志配置文件] 5.新建lib文件夹:[存放第三方jar包] 6.新建bin文件夹:[存放生成的.class文件] 如下图: package com.loveryw; import o

项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库

作者:泥沙砖瓦浆木匠 个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 如果我的帮到了你,是否乐意捐助一下或请一杯啤酒也好呢?有你支持,干的更好~ 点这参与众筹 我的支付宝:13958686678 一. 前言 泥瓦匠又和大家见面了,最近两天我在Code Review ,顺便代码小小的Refactoring(重构)下.先了解这个项目吧,这次解决的是数据源配置优化.因为这web项目中配置数据源的地方很多.例如JDBC要配置数据源,Mybatis要配置数据源,Quartz定时任务要配

log4j配置中遇到的问题

log4j配置后启动的时候报java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.LogManager的原因是,在不缺少jar的包的情况下,错误就发生在log4j.properties中,我的错误就是因为log4j.appender.FILE.DatePattern=yyyy-MM-dd -HH.log,日志根据日期格式生成,如果后面需要加别的内容,必须将其后的内容放在引号中,所以应该改成log4j

springmvc log4j配置

添加依赖 1 <properties> 2 <spring.version>4.1.0.RELEASE</spring.version> 3 <slf4j.version>1.7.13</slf4j.version> 4 </properties> 5 <!-- log4j --> 6 <dependency> 7 <groupId>org.springframework</groupId&g

Log4j配置为何失效

昨天上线折腾了半天,发现日志始终不能正确打印到指定文件,反而Tomcat的catalina.out打印了业务日志,仔细检查线上log4j配置,未发现任何问题,console日志输入并没有打开.于是迅速使用上次上线包进行替换重新发布,发现问题解决. 考虑到本次上线新依赖了其他系统的jar包,检查该jar后发现,jar包中包含了Log4j.xml!! log4j为何选择了jar中的log4j.xml而不是自己的log4j.properties文件呢,原因就在log4j的LogManager类中 看段

#2014/7/24#常用log4j配置

常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子: 一.log4j.properties ### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2 ## log4j.category.org.zblog=ERROR,A1 log4j.category.org.zblog=INFO,A2 log4j.appender.A1=org.apache.log4j.ConsoleAppender ### 设置输出

Log4j配置(转)

原文:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderName1

slf4j和log4j配置

在选用 slf4j-api-1.7.7.jar + slf4j-log4j12-1.7.7.jar + log4j-1.2.17.jar 时输出(前提是有相应的配置文件log4j.properties,放在根目录,一般是src文件夹下)到文件logs.log和errors.log 1 基本格式如下: #配置根Logger log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , - #配置日志信息输出目的地Appender lo

log4j配置相对路径实现日志记录

从网上简单搜索了一下,发现有三种介绍的方法.总结在这里1. 解决的办法自然是想办法用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如: log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${WORKDIR}/”是个变量,会被System Property中的“WORKDIR”的值代替.这样,我们就可以在log4j加载配置文件之前,先用System.setProperty设置好根路径. 在 没有发现这个