- 浏览: 179910 次
- 性别:
- 来自: 广州
文章分类
最新评论
一、配置文件说明:
1、log4j.rootLogger=INFO, stdout, R
将等级为INFO的日志信息使用stdout和R进行输出,这里可以自己命名;
等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,OFF是关闭,不输出任何信息,其他级别按这个顺序依次降低,如果指定一个级别,如INFO,则比该级别高的信息都会输出,此时会输出FATAL、ERROR、WARN、INFO级别的信息。
2、log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.option1=value1
定义stdout的输出端类型,以及属性选项配置,可以有下面几种类型:
org.apache.log4j.ConsoleAppender(输出在控制台)
org.apache.log4j.FileAppender(输出到文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),可通过log4j.appender.R.MaxFileSize=100KB设置文件大小,还可通过log4j.appender.R.MaxBackupIndex=1设置为保存一个备份文件
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
输出端共同选项:
Threshold=WARN:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
ConsoleAppender选项:
Target=System.err:默认情况下是:System.out,指定输出控制台
文件输出端共同选项:
File=mylog.txt:指定消息输出到mylog.txt文件。
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
DailyRollingFileAppender 选项:
DatePattern=yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:
1)yyyy-MM: 每月
2)yyyy-ww: 每周
3)yyyy-MM-dd: 每天
4)yyyy-MM-dd-a: 每天两次
5)yyyy-MM-dd-HH: 每小时
6)yyyy-MM-dd-HH-mm: 每分钟
RollingFileAppender 选项:
MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
MaxBackupIndex=2:指定可以产生的滚动文件的最大数。
3、log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
定义stdout的输出端的layout是类型,可以有下面几种类型:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
4、log4j.appender.stdout.layout.ConversionPattern= [APPName] %p [%t] %C.%M(%L) | %m%n
如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,具体参数:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%: 输出一个”%”字符
%F: 输出日志消息产生时所在的文件名称
%M: 输出执行方法
%L: 输出代码中的行号
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
1) c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4) .30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。
[APPName]是log信息的开头,可以为任意字符,一般为项目简称。
5、log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
6、log4j.appender.R.File=D:\\logs\\APPName.log
定义R的输出端的文件名D:\\logs\\APPName.log,该名称可以自行修改。
7、log4j.appender.R.layout=org.apache.log4j.PatternLayout
8、log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
9、log4j.logger.com.johnny=DEBUG
自定义各个包中日志级别,指定com.johnny包下的所有类的等级为DEBUG。
二、加载自己的配置文件
log4j默认加载类路径下的log4j.properties文件,如果自定义其他名称的properties文件的时候,就需要使用PropertyConfigurator.configure(“FilePath”)来加载配置文件,这里要注意一下配置文件的路径:
针对java项目:
1、绝对路径 -- F:\\test\\log4jSelf.properties;
这个就不用多说了,如果不是web项目的话,写绝对路径那就是硬盘上的全路径了
2、相对路径 -- src/youFileName.properties
log4j默认的当前路径工程下面,即跟src同级目录,了解这点相信相对路径大家都手到擒来了,或者类加载器获得路径也可以;
针对web项目:
getRealPath获得路径加上文件名
1、log4j.rootLogger=INFO, stdout, R
将等级为INFO的日志信息使用stdout和R进行输出,这里可以自己命名;
等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,OFF是关闭,不输出任何信息,其他级别按这个顺序依次降低,如果指定一个级别,如INFO,则比该级别高的信息都会输出,此时会输出FATAL、ERROR、WARN、INFO级别的信息。
2、log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.option1=value1
定义stdout的输出端类型,以及属性选项配置,可以有下面几种类型:
org.apache.log4j.ConsoleAppender(输出在控制台)
org.apache.log4j.FileAppender(输出到文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),可通过log4j.appender.R.MaxFileSize=100KB设置文件大小,还可通过log4j.appender.R.MaxBackupIndex=1设置为保存一个备份文件
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
输出端共同选项:
Threshold=WARN:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
ConsoleAppender选项:
Target=System.err:默认情况下是:System.out,指定输出控制台
文件输出端共同选项:
File=mylog.txt:指定消息输出到mylog.txt文件。
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
DailyRollingFileAppender 选项:
DatePattern=yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:
1)yyyy-MM: 每月
2)yyyy-ww: 每周
3)yyyy-MM-dd: 每天
4)yyyy-MM-dd-a: 每天两次
5)yyyy-MM-dd-HH: 每小时
6)yyyy-MM-dd-HH-mm: 每分钟
RollingFileAppender 选项:
MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
MaxBackupIndex=2:指定可以产生的滚动文件的最大数。
3、log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
定义stdout的输出端的layout是类型,可以有下面几种类型:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
4、log4j.appender.stdout.layout.ConversionPattern= [APPName] %p [%t] %C.%M(%L) | %m%n
如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,具体参数:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%: 输出一个”%”字符
%F: 输出日志消息产生时所在的文件名称
%M: 输出执行方法
%L: 输出代码中的行号
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
1) c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4) .30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。
[APPName]是log信息的开头,可以为任意字符,一般为项目简称。
5、log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
6、log4j.appender.R.File=D:\\logs\\APPName.log
定义R的输出端的文件名D:\\logs\\APPName.log,该名称可以自行修改。
7、log4j.appender.R.layout=org.apache.log4j.PatternLayout
8、log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
9、log4j.logger.com.johnny=DEBUG
自定义各个包中日志级别,指定com.johnny包下的所有类的等级为DEBUG。
二、加载自己的配置文件
log4j默认加载类路径下的log4j.properties文件,如果自定义其他名称的properties文件的时候,就需要使用PropertyConfigurator.configure(“FilePath”)来加载配置文件,这里要注意一下配置文件的路径:
针对java项目:
1、绝对路径 -- F:\\test\\log4jSelf.properties;
这个就不用多说了,如果不是web项目的话,写绝对路径那就是硬盘上的全路径了
2、相对路径 -- src/youFileName.properties
log4j默认的当前路径工程下面,即跟src同级目录,了解这点相信相对路径大家都手到擒来了,或者类加载器获得路径也可以;
针对web项目:
getRealPath获得路径加上文件名
发表评论
-
Eclipse中Hibernate Tools安装使用
2015-09-02 14:05 576eclipse->Help>Install Ne ... -
Excel保护破解
2015-08-12 15:56 727打开受保护的Excel表格,按“ALT”+“F11”键, ... -
在Web项目中配置Log4j
2014-02-19 21:29 8733在Web项目中配置Log4j 1. 动态的改 ... -
C3P0连接池详细配置
2014-02-19 21:17 733C3P0连接池详细配置 <c3p0-config ... -
转:js获取各种高度
2013-07-09 19:10 1059<script type="text/jav ... -
转:json的stringify方法作用
2013-07-04 00:14 1628可使用JSON.parse(str)将其转化为json对象 ... -
Sublime Text 2快捷键~
2013-06-30 23:19 986Ctrl+L 选择整行(按住-继续选择下行) Ctrl+ ... -
jquery表单验证-自定义及常用验证(转)
2013-04-04 23:14 1370<script type="text/java ... -
PL/SQL执行存储过程
2013-04-01 18:11 11481、PL/SQL中SQL窗口执行过程: BEGIN DBMS ... -
jboss、tomcat自定义classpath(转)
2013-04-01 14:16 4078现在的项目中自定义了很多共通的jar包,这些jar包如何导 ... -
EL表达式和JSTL标签(转)
2013-03-31 15:37 1407在JSP页面中,使用标签库代替传统的Java语言来实 ... -
EL表达式和JSTL标签(转)
2013-03-31 15:34 0在JSP页面中,使用标签 ... -
简单的导出excel
2013-03-25 16:29 1005response.setContentType("a ... -
JS中URL编码参数(转) --- 乱码经过编码两次得以解决
2013-03-17 14:01 4336网上有很多文字作品写 ... -
jquery autocomplete示例
2013-03-15 18:30 9742使用jquery的autocomplete插件~~,目前网上有 ... -
GreyBox官网~~
2013-03-01 17:36 1031http://orangoo.com/labs/GreyBox ... -
(转)SQL 优化原则
2013-02-28 10:29 746一、问题的提出 在应用系统开发初期,由于开发数据库数据比 ... -
修改tomcat项目的图标
2013-02-28 10:23 852部署在tomcat中的项目在运行的时候,地址栏都是那个标志的小 ... -
如何修改和查看tomcat内存大小
2013-02-28 10:06 1049为了解决tomcat在大进行 ... -
eclipse修改内存启动参数
2013-02-28 09:56 5061一般安装完eclipse之后,在安装目录下你应该可以看到有一个 ...
相关推荐
要加载自己的Log4j配置文件,可以在Java代码中指定配置文件路径,例如使用`PropertyConfigurator.configure("path/to/config/file.properties")`,或者在类路径下放置名为`log4j.properties`或`log4j.xml`的文件,...
本文将详细介绍一个Log4J的全能配置文件,包括如何配置日志级别、日志输出目的地以及格式化日志输出等。 #### 二、配置文件结构解析 ##### 2.1 日志根类别设置 ```properties log4j.rootLogger=DEBUG,CONSOLE,A1,...
通过`PropertyConfigurator.configure("path/to/log4j.properties")`来加载`.properties`配置文件。 2. **DOMConfigurator**: 使用`DOMConfigurator.configure("path/to/log4j.xml")`来加载`.xml`配置文件。 在...
3. **通过环境变量传递配置文件**: Log4j会在初始化过程中查找特定的环境变量来加载配置文件。 4. **通过应用服务器配置**: 在部署到应用服务器时,可以通过特定的Servlet来配置Log4j。 #### 六、总结 Log4j的配置...
在"压缩包子文件的文件名称列表"中没有具体的配置文件,但通常来说,Log4j的配置文件名为`log4j.properties`或`log4j.xml`。以下是一个简单的`log4j.properties`配置示例: ``` # 设置root logger级别为INFO,输出...
7. **配置文件的加载与更新**:在程序运行时,可以通过指定配置文件路径动态加载和更新Log4j配置。 8. **MDC(Mapped Diagnostic Context)与NDC(Nested Diagnostic Context)**:这两个特性可以帮助开发者在多...
总结来说,Log4Net通过配置文件可以灵活地管理日志记录,包括设置日志级别、过滤规则、输出格式以及目标输出位置。在实际应用中,可以根据需求调整这些配置,以满足不同场景下的日志记录需求。理解并掌握Log4Net的...
关键在于`log4j.properties`或`log4j.xml`配置文件,此工程中可能包含其中一个。配置文件定义了日志记录的策略,如日志级别、输出目的地、格式化样式等。例如,以下配置创建了一个每日滚动的日志文件: ```...
总结来说,这个Eclipse工程展示了如何在Java应用中使用Log4j框架,通过配置文件设定日志输出到文件的策略,以及在代码中如何使用这些配置进行日志记录。这对于开发者调试、问题排查以及系统监控至关重要。
`PropertySetter`会解析配置文件中的属性,并将它们设置到相应的Log4j组件上,从而确保字符编码被正确应用。 总结起来,Log4j日志文件乱码问题的根源在于字符流的编码不匹配。通过在配置文件中明确指定字符集(如...
总结来说,Log4j的动态配置日志输出路径主要涉及对配置文件的解析和重新加载,以及在运行时使用API直接调整日志设置。理解并熟练运用这些方法,可以帮助我们在开发过程中更灵活地管理和监控日志,提高开发效率和问题...
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
这样,我们就可以在log4j加载配置文件之前,先用System.setProperty ("WORKDIR", WORKDIR);设置好根路径,此操作可通过一初始的servlet进行。 方法二、 可以使用服务器环境变量 log4j的配置文件支持服务器的vm的...
在项目中,确保这些jar文件位于类路径下,并且正确配置了log4j配置文件,就可以通过SLF4J接口进行日志记录,而底层的日志输出则由Log4j处理。例如: ```java import org.slf4j.Logger; import org.slf4j....
2. **配置Maven**:在`pom.xml`中添加依赖,包括SpringMVC、MyBatis、Log4j以及数据库驱动等。 3. **配置SpringMVC**:在`web.xml`中配置DispatcherServlet和ContextLoaderListener,然后在Spring的配置文件中声明...
例如,在配置文件中指定的日志文件路径`log4j.appender.logfile.File=set up in web.xml`,这里的“set up in web.xml”实际上是指在`web.xml`中指定的日志文件路径,而这个路径也是相对于项目的根目录。 #### 总结...
5. **使用说明.txt**: 这份文档很可能是对如何在项目中配置和使用log4j.jar的指导,可能包含配置文件的创建、日志级别的设置、输出格式的定制以及如何在IDEA中引入log4j等内容。阅读这份说明可以帮助开发者快速上手...
#### 二、log4j配置文件的重要性 在使用log4j的过程中,正确配置log4j对于获取有效的日志信息至关重要。如果未正确配置log4j,则可能会导致应用程序无法正常记录日志信息或者记录的日志级别不符合需求,从而影响...
2. **创建配置文件**:创建`log4j.properties`或`log4j.xml`文件,定义日志级别、输出目的地和格式。 3. **配置日志级别**:设置全局默认日志级别,也可以为特定类或包设置不同的日志级别。 4. **定义Appender**:...