`
Johnny_GZ
  • 浏览: 176868 次
  • 性别: 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

    ecstore kernel.php文件的解析

    Kernel 类的 boot 方法是应用程序的入口点,该方法负责加载控制器、模板、路由配置文件和配置文件,并定义大量常量。 九、autoload 方法 Kernel 类的 autoload 方法负责加载自动加载器,autoload.php 文件将在后续...

    自己整理的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访问日志,...

    squid_配置详解

    在这个例子中,我们使用基本认证方式,需要在 squid.conf 文件中添加以下配置选项: auth_param basic program /usr/lib/squid/ncsa_auth /usr/etc/squid/passwd 在这个例子中,我们使用 NCSA 认证方式,认证文件...

    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从初始化到,配置文件加载到日志打印,所有步骤的源码分析

Global site tag (gtag.js) - Google Analytics