文档章节

log4j 使用简记

luckwsm
 luckwsm
发布于 2016/12/07 11:28
字数 715
阅读 2
收藏 0
点赞 0
评论 0

在项目开发中,作为一个最底层的码农一直在已经搭建好的框架中填充代码,对log4j的认识只是使用log.info()、 log.warn()、log.error()而已,最近项目间期有点空闲时间对log4j简单学习,相关知识点简记如下:

Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值),其中后者是比较常用的方式。 Log4j由三个重要的组件构成: Loggers:日志信息的优先级,Appenders:日志信息的输出目的地,Layouts:日志信息的输出格式 。

1. Loggers的配置

log4j.rootLogger = [ level ] , appenderName, appenderName, …

level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

appenderName就是指日志信息输出到哪个地方,可以同时指定多个输出目的地,在这里只是配置一个名称,具体属性要在Appenders中设置。

2. Appender的配置

Appender有以下几种:

  • org.apache.log4j.ConsoleAppender               控制台
  •   org.apache.log4j.FileAppender                    文件
  •   org.apache.log4j.DailyRollingFileAppender  每天回滚的文件
  •   org.apache.log4j.RollingFileAppender         指定大小的文件,超出时产生一个新的文件
  •   org.apache.log4j.WriterAppender               将日志信息以流格式发送到任意指定的地方

 其中控制台的属性有:

  • Threshold=DEBUG               指定日志消息的输出最低层次。
  • ImmediateFlush=true          默认值是true,意谓着所有的消息都会被立即输出。
  • Target=System.err               默认情况下是:System.out,指定输出控制台

文件的属性有:

  • Threshold=DEBUF             指定日志消息的输出最低层次。
  • ImmediateFlush=true        默认值是true,意谓着所有的消息都会被立即输出。
  • File=mylog.txt                   指定消息输出到mylog.txt文件。
  • Append=false                   默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

RollingFileAppender 选项

  • Threshold=DEBUG           指定日志消息的输出最低层次。
  • ImmediateFlush=true      默认值是true,意谓着所有的消息都会被立即输出。
  • File=mylog.txt                 指定消息输出到mylog.txt文件。
  • Append=false                 默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
  • MaxFileSize=100KB         后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
  • MaxBackupIndex=2        指定可以产生的滚动文件的最大数。

3. Layout的配置

  • org.apache.log4j.HTMLLayout              以HTML表格形式布局 ,
  • org.apache.log4j.PatternLayout           可以灵活地指定布局模式,
  • org.apache.log4j.SimpleLayout            包含日志信息的级别和信息字符串,
  • org.apache.log4j.TTCCLayout              包含日志产生的时间、线程、类别等等信息

4.非web项目中使用log4j, 动态加载修改

        String path = "/usr/gcclistener/config/log4j.properties";     //可使用相对地址
        // 间隔特定时间(单位毫秒),检测文件是否修改,自动重新读取配置
        PropertyConfigurator.configureAndWatch(path, 5000);

 

© 著作权归作者所有

共有 人打赏支持
luckwsm
粉丝 0
博文 17
码字总数 4595
作品 0
青岛
程序员
【Log4j】Jboss下配置log4j简记

前几天碰到了一个常见的错误,在Jboss下配置了log4j.xml文件,但是配置没有生效。如果你在项目中没有指定使用的log4j的配置文件,最好使用文件名jboss-log4j.xml。该文件在Jboss容器的目录为...

半夏alvin
2014/04/02
0
0
jboss log4j冲突分析与解决

Log4j作为日志组件被大多数的系统所使用,Jboss也不例外的采用了Log4j作为它的日志输出组件。 但在使用JBoss时,很多人经常碰到一些冲突,这些冲如自己配置的log4j文件无效,系统抛org.jboss...

职通网
2012/07/16
0
0
java instrment手工加载log4j配置文件

使用java instrument做一个代码监控的工具,监控日志想用log4j记录,遇到了点问题。 启动应用的命令行加入-javaagent参数,可以在加载类时对其字节码做修改,常用工具有asm、javasssit。 我希...

yingtju
06/26
0
0
java 日志框架——log4j

Log4J是JAVA下的一款日志组件 下载: http://logging.apache.org/log4j/2.x/download.html 下面的示例我使用最新版本2.7无法正常运行,最新版本使用方法可能不同。本文示例使用log4j-1.2.15测...

xundh
05/09
0
0
log4j:WARN Please initialize the log4j system p...

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext). log4j:WARN Please initialize the log4j system properly. S......

进击的方便面
2013/09/26
0
0
JMX学习以及在log4j中的应用

前言 JMX即Java Managemen Extensions,是一个为应用程序植入管理功能的框架。一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。 常常在编程的过程中...

buglife
2015/01/06
0
15
Maven及LOG4J配置示例

刚才在测试小项目里配置了一下log4j,很久不用,有些遗忘了,配置完发出来备忘一下 首先用maven引入log4j,相关的代码如下: <dependency><groupId>log4j</groupId><artifactId>log4j</artif......

王小明123
2012/12/25
0
2
比较 SLF4J 与 log4j

SLF4J :JAVA简易日志门面(Simple Logging Facade for Java,缩写SLF4J) 他是一套包装Logging 框架的接口程式,以外观模式实现。可在软件部署的时候决定要使用的 Logging 框架,目前主要支援...

Candy_Desire
2014/03/19
0
0
MyBatis3错误:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority的问题解决

在使用Maven新建QuitStart类型项目时,引入了MyBatis3.2.0版本的JAR包之后,出现如下错误: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Priority Cause......

easonjim
2017/06/19
0
0
log4j 使用及配置分析记录

log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。 ps:其配置文件有两种 log4j.properties 和log4j.xml 两种形式。xml更强大,功能更丰富 ,properties更简单易懂。...

北方攻城师
2015/04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ实战:5种模式和示例

应用RabbitMQ的5种队列 一、简单队列 P:消息的生产者 C:消息的消费者 红色:队列 生产者实现思路: 创建连接工厂ConnectionFactory,设置服务地址127.0.0.1,端口号5672,设置用户名、密码...

spinachgit
8分钟前
0
0
mysql常见报错标号对应原因以及处理方法

mysql常见报错标号以及对应解决方法 报错标号 报错现象 解决方法 原因 1449 Cause: java.sql.SQLException: The user specified as a definer ('authplat_dev'@'%') does not exist 在控制台...

ChinaHYF
10分钟前
0
0
Java 监控系统技术选型

(1)操作系统监控 Sigar oshi (2)Tomcat监控 JMX 日志 (3)Oracle监控 日志 直连SQL查询 基于Druid连接池

cccyb
12分钟前
1
0
解决IDEA中moduel配置了maven依赖可是依然不能使用依赖中的类

POM.xml中明明配置了依赖,也开启了maven的 auto-import 下面的刷新maven也没用: 直到使用下面的解决办法才使依赖生效: IDEA打开右侧 maven projects 点击顶部的M图表(看下图) 出现如下对...

颖辉小居
13分钟前
0
0
Nginx proxy pass路由转发简单用法

一,在nginx中配置proxy_pass时的加不加/的问题要注意proxy_pass后的url最后的/当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走如果没有/,则会把匹配的...

binhu
13分钟前
0
0
postcss替换sass-loader

实际需求: 已经使用了postcss autoprefixer ,而且sass-loader又依赖于node-sass,而且node-sass又是一堆坑(比如centos升级node6->node8后的安装权限问题),所以想简单使用Postcss 处理s...

吟啸_徐行
16分钟前
0
0
FISCO-BCOS v1.3.1 通过物料包安装记录

本文是从FISCO-BCOS的官方GitHub中的安装包进行安装的记录过程 1. Node.js环境准备 #nodejs安装 nvmsudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh......

undefine
19分钟前
0
0
Linux 系统日志、screen 工具

1、Linux 系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受...

JolieLin
30分钟前
1
0
MAVEN打包时报错“程序包xxx不存在”

1.错误场景: 项目为springboot项目,maven聚合工程,分为app、api 、common、gongqiu四个项目,app、api 、common的父类是gongqiu,app和api依赖common,打包时报错common中的程序包xxx不存...

无语年华
31分钟前
0
0
CSS

一、简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外部样式表可以极大提...

blackfoxya
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部