Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
1、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。
Log4j支持两种配置文件格式,一种是Java特性文件(键=值),一种是XML格式的文件。下面我们介绍使用Log4j配置文件的方法:
配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
配置日志信息输出目的地Appender,其语法为
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.optionN = valueN
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.optionN = valueN
其中,Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
2、在代码中使用Log4j
下面将讲述在程序代码中怎样使用Log4j。
i、得到记录器使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为: public static Logger getLogger( String name),通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如: static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () ) ;
ii、读取配置文件当获得了日志记录器之后,第二步将配置Log4j环境,其语法为: BasicConfigurator.configure ():自动快速地使用缺省Log4j环境。 PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。
iii、插入记录信息(格式化日志信息)当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
iv、代码例子注释:蓝色–文件名红色–用到log4j的地方
Hello.java
import org.apache.log4j.*;
public class Hello {
static Logger logger = Logger.getLogger(Hello.class);
public static void main(String argv[]) {
PropertyConfigurator.configure("Hello.properties");
logger.debug("Hello world.");
logger.info("What a beatiful day.");
try {
// 假如这里出现了异常
throw new NullPointerException();
} catch (Exception e) {
logger.warn("NullPointerException", e);
}
}
}
log4j.properties
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
相关推荐
log4j-config.jar, log4j-core-2.0.2-javadoc.jar, log4j-core-2.0.2-sources.jar, log4j-core-2.0.2-tests.jar, log4j-core-2.0.2.jar, log4j-core.jar, log4j-ext.jar, log4j-flume-ng-2.0.2-javadoc.jar, log4j-...
详细介绍log4j的设定方法和用途(附源码)
LOG4J的配置范例常用log4j配置,log4j配置手册
config.properties:数据库配置文件 log4j.properties:mybatis日志文件 spring-mvc.xml:spring-MVC配置文件 spring-mybatis.xml:mybatis的配置文件 spring.xml
log4j2的配置文件。
springboot_log_log4j_config
Apache Log4j 2 配置生成器 Apache Log4j 2 提供了一个简单的 API 来配置具有log4j.xml和的日志上下文。 该模块提供了一种类似的方法: 无需使用log4j.xml文件进行配置 简化准备 Apache Log4j 日志上下文所需的 API...
log4j properties config
Android 使用log4j 前言: 如果要直接在android工程中使用log4j,是有点问题的,会报如下的错...rejected Lorg/apache/log4j/config/PropertySetter;.getPropertyDescriptor (Ljava/lang/String;)Ljava/beans/Propert
1.2 在项目中config文件夹中新建log4j json配置文件 { "appenders": { "console": { "type": "console" }, "trace": { "type": "file", "filename": "log/access.log", "maxLogSize ": 31457280 }, ...
如果用过JAVA中log4j的同学,肯定对日志并不陌生,学习log4js会更得心应手的。 项目要用log4js记录日志,网上找的教程都是很久以前的,新版本log4js跟旧版本有一些不同,看文档结合旧版本配置了能用的log4js,记录...
安装适用于koa v0.x和v1.x $ npm i --save koa-log4@1适用于koa v2.x $ npm i --save koa-log4@2默认记录器适用于 $ npm i --save koa-log4用法config koa-log4js与原始。正常的log4js方式这种方式与原始。 const ...
修改您的 Config.groovy 文件以向 log4j 添加一个 appender。 例子: log4j = { appenders { appender new com.oohlalog.log4j.OohLaLogAppender ( name : " oohlalog " , authToken : " my-api-token " , host ...
wget https://raw.githubusercontent.com/Graylog2/graylog-docker/3.0/config/log4j2.xml //提前准备镜像 docker pull mongo:3 docker pull graylog/graylog:3.0 docker pull elasticsearch:5.6.9 ``` ### docker-...
放到resources下即可, 如果不生效则在application.yml文件中加 logging: config: file:config/logback-spring.xml
Web4Log是一个基于java的web应用项目,使用Apache Wicket作为其前端框架,使用SocketAppender Log4J logger模拟其他应用的日志输出的tail命令。 它可以帮助您在一个基于 Web 的界面中监控来自一个或多个应用程序的 ...
日志4p 像 log4j2 这样的 Python 日志 使用应用程序根目录中的配置文件 [log4p.py]。 应用示例: from log4p import log TestLog =...配置示例:“log4j2.xml ” config ={ 'monitorInterval' : 10, 'loggers' :{ 'Lo
log4js-sls-appender 这是一个 aliyun 简单的 log4js 日志服务 appender。 #安装 npm install log4js-sls --save #配置 /config/logTest.json "appenders": { "type": "log4js-sls", "layout": { "type": ...
Log4J。 l看如鹏站内搜索的日志文件。对于网站来讲,不能把异常信息显示给用户,异常信息只能记录到日志,出了问题把日志文件发给开发人员,就能知道问题所在。l配置Log4Net环境•新建一个WebApplication,添加一个...
spring-log 为 Spring 项目提供了额外的和支持: 记录器自动注入webapp、独立和测试环境中的自定义配置请参阅。二进制文件在哪里? 从 1.0.4 开始,您可以在 maven central 中找到二进制文件: < dependency>< ...