`
Johnny_GZ
  • 浏览: 176105 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Log4j配置文件解析以及加载自己的配置文件

阅读更多
一、配置文件说明:
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获得路径加上文件名
分享到:
评论

相关推荐

    Log4j配置文件解析以及加载自己的配置文件.doc

    Log4j配置文件解析以及加载自己的配置文件.doc

    自己整理的Mybatis必须掌握的知识。从原生方式的使用再到常用的Mapper文件的使用解析,共48页

    3.2 log4j.properties 四、 原生方式增删改查 4.1 注意 4.2 增删查改 4.3 原生方式的坏处 五、 接口方式增删改查 5.1 接口方式的好处 5.2 规则 5.3 步骤 六、 三大核心对象 6.1 SqlSessionFactoryBuilder 6.2 ...

    NodeLog统计方案yog-log.zip

    yog-log 是 Node Log 统计方案,是yog框架的log统计模块,支持中间件或者单独使用等方式,兼容ODP日志格式与配置。关于ODP的日志方案调研可查看此文档. 统计日志类型包括: server日志 access_log: web访问日志,...

    changelog-ci:Changelog CI是一个生成变更日志的GitHub Action,然后将变更日志提交和/或评论到发布请求Pull

    除此之外,如果用户提供配置(JSON文件),则Changelog CI会解析用户提供的配置文件,并根据用户config呈现更改日志。 然后,更改被提交和/或注释到发布请求请求中。 用法: 若要使用此操作,请求请求标题必须与...

    springmvcdemo

    下载之后您只需要1.根据实体类创建数据库 2.jdbc.property填写正确 3.项目加载 运行 这里你将学习到: 前台: 公共类库 Juqery 公共组件 表格:jqueryeasyui datagrid ...11 利用log4j输出程序日志 12 无刷新翻页

    《程序天下:J2EE整合详解与典型案例》光盘源码

    6.2 建立Log4j的开发环境 6.2.1 下载Log4j 6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    6.2 建立Log4j的开发环境 6.2.1 下载Log4j 6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    6.2 建立Log4j的开发环境 6.2.1 下载Log4j 6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    6.2 建立Log4j的开发环境 6.2.1 下载Log4j 6.2.2 配置Log4j 6.3 Log4j的使用方法 6.3.1 配置Log4j 6.3.2 配置根Logger 6.3.3 指定日志输出位置 6.3.4 指定日志输出格式 6.3.5 指定日志输出优先级 6.3.6 在代码中使用...

    pacparser:用于解析代理自动配置(PAC)文件的库

    pacparser是一个用于解析代理自动配置(PAC)文件的库。... pacparser背后的想法是使向任何程序(现在支持C和python)添加此PAC文件解析功能变得容易。 它以共享的C库和python模块的形式出现,可用

    axis1.4 部署解析webservie

    1.TOMCAT+AXIS的安装配置 首先机子上应该安装JDK1.5版本以上(带有XML解析包)。我这里是1.5.0.6 从APACHE的官方网站(www.apache.org)下载TOMCAT安装软件。下载版本要在4.0以上。这里用的是5.0版本。安装完后,...

    插件式GIS应用框架的设计与实现

    2.7.2 Log4net配置文件 2.7.3 框架的日志设计 2.8 插件的分类 2.8.1 类型转换与判别 2.8.2 插件分类的设计与实现 2.9 小结 第3章 框架宿主程序设计 3.1 静态UI设计 3.1.1 菜单和状态栏设计 3.1.2 浮动面板...

    CentOS-6.5-apache网站服务器配置实例.doc

    编辑主配置文件,修改添加下列字段(虚拟主机的配置在最后面) #vim /etc/httpd/conf/httpd.conf #编辑主配置文件 NmeVirtualost 10.11.23.21 #设置虚拟主机所使用的IP地址 <VirtualHost inner1.test.com> #这里可以...

    邓州论坛FastCGI博客系统 2.0.rar

    邓州论坛FastCGI博客系统 2.0 版本...conf/nginx_example.conf 是nginx配置文件例子。按照这个配置就行了 然后cd 到 htdocs 启动 cblog 进程 local/spawn-fcgi/bin/spawn-fcgi -f ./cblog -s /tmp/fcgi-blog.sock

    Node.js的MySQL分表分库访问中间件TribeDB.zip

    //载入配置文件,sync选项为true 表示同步读取解析配置文件 tribe.configure('/path/to/tribe.conf',{sync:true}); //通过数据库表名建立查询请求 var db = tribe.createQuery('my_table'); //插入封装 db....

    Demandware Log Tracer-crx插件

    向服务日志中添加JSON解析-修复面板调整大小的行为4.2.2-从DevTools面板中打开日志目录4.2.1-从DevTools面板中打开日志URL 4.2.0-将缩放器添加到DevTools面板中-引入了Webpack 4-改进了小型UI 4.1.4-由于DW升级而将...

    springboot、logback源码解读

    springboot、logback源码解读,对logback从初始化到,配置文件加载到日志打印,所有步骤的源码分析

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    laravel5.6版本下载

    要实现这个目的,你可以使用 Log 门面上的 channel 方法来获取配置文件定义的频道并将日志写入进去: Log::channel('slack')->info('Something happened!'); 如果你想要创建一个由多个频道组成的按需日志堆栈,可以...

Global site tag (gtag.js) - Google Analytics