Log4j基础使用
- 格式:doc
- 大小:33.50 KB
- 文档页数:3
log4j的使用方法log4j的使用方法什么是log4jlog4j是一个使用Java编写的开源日志记录工具。
它允许开发人员在程序中进行灵活的日志记录,帮助定位和修复应用程序的错误和问题。
log4j通过配置文件确定日志记录的级别和输出方式,提供了丰富的功能和灵活性。
log4j的基本配置1.导入log4j的依赖库:添加以下依赖到你的项目中的``文件中:<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version></version></dependency>2.创建log4j的配置文件:在项目的资源目录下创建一个名为``的文件,并添加以下内容:# 设置日志输出到控制台=INFO, stdout# stdout将日志输出到控制台====%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n以上配置将日志记录级别设为INFO,并将日志输出到控制台。
3.初始化log4j:在你的应用程序入口处(比如main方法),添加以下代码进行log4j的初始化:import ;public class MyApp {public static void main(String[] args) {// 加载log4j的配置文件("");// 其他应用程序代码...}}log4j的日志级别与日志输出log4j提供了不同的日志级别,根据不同的需求可以进行设置。
1.日志级别:–TRACE:最详细的日志级别,常用于调试信息。
–DEBUG:用于调试和开发阶段的详细信息。
–INFO:提供程序的运行状态信息以及其他关键事件。
–WARN:表明潜在的问题,但程序仍能正常运行。
–ERROR:用于记录错误事件,但仍可继续执行。
–FATAL:严重错误,可能导致程序终止执行。
log4j 标准
Log4j是一个Java日志框架,它提供了一种灵活的方式来记录应用程序的
日志信息。
以下是Log4j的标准:
1. 配置文件:Log4j使用一个配置文件来定义日志记录的行为。
这个配置文件可以是XML、properties或YAML格式。
在配置文件中,可以指定日志级别、输出目的地(例如控制台、文件、数据库等)以及其他相关设置。
2. Logger对象:Log4j使用Logger对象来记录日志。
每个Logger对象
都有一个名称,可以通过继承关系组织成层次结构。
Logger对象可以记录
不同级别的日志信息,包括DEBUG、INFO、WARN、ERROR和FATAL。
3. Appender对象:Appender对象定义了日志信息的输出目的地。
例如,可以将日志信息输出到控制台、文件、数据库或电子邮件等。
每个Logger
对象可以关联多个Appender对象,以便将日志信息发送到不同的目的地。
4. 布局和格式化程序:Log4j使用布局或格式化程序来控制日志信息的输出格式。
布局或格式化程序可以将Logger对象记录的日志信息转换成所需的格式,并将其输出到指定的目的地。
5. 日志级别:Log4j使用不同的日志级别来控制日志信息的输出。
这些级别从低到高分别是DEBUG、INFO、WARN、ERROR和FATAL。
通过设置适当的级别,可以过滤掉不需要的日志信息,以便更好地控制应用程序的性能和输出。
总之,Log4j提供了一种灵活、可配置和可扩展的日志记录机制,适用于各种规模的应用程序开发。
android log4j 用法Android Log4j 用法:详细步骤解析Log4j是一个功能强大且广泛用于Java程序的日志记录工具。
它提供了灵活的日志配置选项,允许开发人员根据应用程序的需求自定义日志输出。
在Android开发中,我们可以使用Log4j来记录应用程序的日志,以便更好地进行调试和故障排除。
本文将一步一步介绍如何在Android项目中使用Log4j,并对其用法进行详细解析。
第一步:引入Log4j库要使用Log4j,我们首先需要将其库文件添加到Android项目的依赖项中。
可以从Apache官方网站上下载Log4j的最新版本。
下载完成后,将其包含在项目的libs文件夹中。
接下来,在项目的build.gradle文件中添加以下依赖项:dependencies {implementation files('libs/log4j.jar')}这样,Log4j库就会被添加到项目中。
第二步:创建配置文件Log4j需要一个配置文件来定义日志输出的格式和目标。
我们可以在项目的res目录下创建一个名为log4j.properties的文件,并按照如下内容进行配置:# 设置根日志级别为DEBUGlog4j.rootLogger=DEBUG,stdout# 配置控制台输出log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n# 配置文件输出log4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=/sdcard/app.loglog4j.appender.file.MaxFileSize=5MBlog4j.appender.file.MaxBackupIndex=4yout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n在上述配置文件中,我们首先设置了根日志级别为DEBUG,这意味着只有DEBUG级别及以上的日志才会被输出。
log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。
首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址:/log4j/1.2/download.html我们先看一个最简单的示例:【示例1】项目结构:【注:由于这里的多个项目公用一个jar档,我们可以创建一个专门放置jar档的Java工程,然后将jar档放到lib目录下。
在要使用的工程中按图所示进行引用】Java代码:Java代码1package com.coderdream.log4j;23import org.apache.log4j.Logger;45public class HelloLog4j {67private static Logger logger = Logger.getLogger(HelloLog4j.class);89/**10* @param args11*/12public static void main(String[] args) {13// System.out.println("This is println message.");1415// 记录debug级别的信息16logger.debug("This is debug message.");17// 记录info级别的信息("This is info message.");19// 记录error级别的信息20logger.error("This is error message.");21}22}配置文件log4j.properties:Properties代码23#可以设置级别:debug>info>error24#debug:显示debug、info、error25#info:显示info、error26#error:只error27log4j.rootLogger=debug,appender128#log4j.rootLogger=info,appender129#log4j.rootLogger=error,appender13031#输出到控制台32log4j.appender.appender1=org.apache.log4j.ConsoleAppender33#样式为TTCCLayoutyout=org.apache.log4j.TTCCLayout输出结果:Console代码35[main] DEBUG com.coderdream.log4j.HelloLog4j - This is debug message.36[main] INFO com.coderdream.log4j.HelloLog4j - This is info message.37[main] ERROR com.coderdream.log4j.HelloLog4j - This is error message. 通过配置文件可知,我们需要配置3个方面的内容:1、根目录(级别和目的地);2、目的地(控制台、文件等等);3、输出样式。
Java开发日志分析工具Log4j使用详解Log4j是一个用于记录应用程序运行时日志的Java开发工具。
它可以帮助开发人员更好地理解和监控应用程序的运行状态,以及解决潜在的问题。
下面将详细介绍Log4j的使用方法和功能。
一、Log4j的配置文件Log4j使用一个名为log4j.properties的配置文件来定义日志的输出格式、日志级别、输出目标等。
这个配置文件需要放在应用程序的classpath下,以便Log4j能够找到它并加载配置。
配置文件中的每一个配置项都有一个特定的名称和对应的值。
例如,可以使用"log4j.rootLogger"配置项来设置根日志记录器的级别,使用"log4j.appender.console"配置项来设置控制台输出的格式等。
二、Log4j的日志级别Log4j提供了多个日志级别,用于控制日志的输出。
这些日志级别按照严重程度递增,包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL。
可以通过配置文件中的"log4j.rootLogger"配置项来设置根日志记录器的级别,从而决定哪些级别的日志会被记录。
三、Log4j的输出目标Log4j可以将日志输出到不同的目标,包括控制台、文件、数据库等。
可以通过配置文件中的"log4j.appender"配置项来设置输出目标。
常用的输出目标有:1. ConsoleAppender:将日志输出到控制台。
2. FileAppender:将日志输出到文件。
3. RollingFileAppender:将日志输出到滚动文件,可以设置文件的大小和数量,以便自动滚动日志文件。
4. JDBCAppender:将日志输出到数据库。
四、Log4j的日志格式Log4j可以自定义日志的输出格式。
可以通过配置文件中的"log4j.appender"配置项来设置输出格式。
Log4j使用总结(全面)二LOG4J的配置之简单使它普及于越来越多的应用中了:Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。
择其一二使用就够用了。
log4j.rootLogger=DEBUG,CONSOLE,A1,imlog4j.addivity.apache=true# 应用于控制台log4j.appender.CONSOLE=org.apache.log4j.ConsoleApp enderlog4j.appender.Threshold=DEBUGlog4j.appender.CONSOLE.Target=System.outyout=org.apache.log4j.Pat ternLayoutyout.ConversionPattern=[f ramework] %d - %c -%-4r [%t] %-5p %c %x - %m%n#yout.ConversionPattern=[ start]%d {DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thr ead]n%c[CATEGORY]%n%m[MESSAGE]%n%n#应用于文件log4j.appender.FILE=org.apache.log4j.FileAppenderlog4j.appender.FILE.File=file.loglog4j.appender.FILE.Append=falseyout=org.apache.log4j.Patter nLayoutyout.ConversionPattern=[fram ework] %d - %c -%-4r [%t] %-5p %c %x - %m%n# Use this layout for LogFactor 5 analysis# 应用于文件回滚log4j.appender.ROLLINGFILE=org.apache.log4j.Rolli ngFileAppenderlog4j.appender.ROLLINGFILE.Threshold=ERRORlog4j.appender.ROLLINGFILE.File=rolling.log //文件位置,也可以用变量${java.home}、rolling.loglog4j.appender.ROLLINGFILE.Append=true //true:添加false:覆盖log4j.appender.ROLLINGFILE.MaxFileSize=10KB //文件最大尺寸log4j.appender.ROLLINGFILE.MaxBackupIndex=1 //备份数yout=org.apache.log4j.PatternLayoutyout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #应用于socketlog4j.appender.SOCKET=org.apache.log4j.RollingFile Appenderlog4j.appender.SOCKET.RemoteHost=localhostlog4j.appender.SOCKET.Port=5001log4j.appender.SOCKET.LocationInfo=true# Set up for Log Facter 5yout=org.apache.log4j.Patt ernLayoutyout.ConversionPattern=[sta rt]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread ]%n%c[C ATEGORY]%n%m[MESSAGE]%n%n# Log Factor 5 Appenderlog4j.appender.LF5APPENDER=org.apache.log4j.lf5.LF5Appenderlog4j.appender.LF5APPENDER.MaxNumberOfRecords=200 0# 发送日志给邮件log4j.appender.MAIL=org.apache.log4j..SMTPAppen derlog4j.appender.MAIL.Threshold=FATALlog4j.appender.MAIL.BufferSize=10log4j.appender.MAIL.From=web@.wuset.log4j.appender.MAIL.SMTPHost=.wusetu.log4j.appender.MAIL.Subject=Log4J Messagelog4j.appender.MAIL.To=web@.wusetu.yout=org.apache.log4j.Patter nLayoutyout.ConversionPattern=[fram ework] %d - %c -%-4r [%t] %-5p %c %x - %m%n# 用于数据库log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBC Appenderlog4j.appender.DATABASE.URL=jdbc:mysql://localhost :3306/te stlog4j.appender.DATABASE.driver=.mysql.jdbc.Driv erer=rootlog4j.appender.DATABASE.password=log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES (’[framework] %d - %c -%-4r [%t] %-5p %c %x -%m%n’)yout=org.apache.log4j.Pa tternLayoutyout.ConversionPattern=[ framewor k] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.appender.A1=org.apache.log4j.DailyRollingFil eAppender log4j.appender.A1.File=SampleMessages.log4jlog4j.appender.A1.DatePattern=yyyyMMdd-HH’.log4j’yout=org.apache.log4j.xml.XMLL ayout #自定义Appenderlog4j.appender.im= .cybercorlin.util.logger.appender.IMAppenderlog4j.appender.im.host = mail.cybercorlin.ername = usernamelog4j.appender.im.password = passwordlog4j.appender.im.recipient = corlin@cybercorlin.yout=org.apache.log4j.PatternL ayoutyout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ?模板,内容仅供参考。
第一部分快速入门首先,需要去下载LOG4J这个软件并解压缩出其中的log4j.jar.在你的应用程序的classpath 中包含该JAR文件,你也可以简单地将这个文件拷贝到JDK的%java_home%\lib\ext目录下。
在作完以上工作后,你可以将下面的代码保存到名为TestLogging.java中:##############################import org.apache.log4j.*;// How to use log4jpublic class TestLogging {// Initialize a logging category. Here, we get THE ROOT CATEGORY//static Category cat = Category.getRoot();// Or, get a custom categorystatic Category cat = Category.getInstance(TestLogging.class.getName());// From here on, log away! Methods are: cat.debug(your_message_string),// (...), cat.warn(...), cat.error(...), cat.fatal(...)public static void main(String args[]) {// Try a few logging methodscat.debug("Start of main()");("Just testing a log message with priority set to INFO");cat.warn("Just testing a log message with priority set to WARN");cat.error("Just testing a log message with priority set to ERROR");cat.fatal("Just testing a log message with priority set to FATAL");// Alternate but INCONVENIENT formcat.log(Priority.DEBUG, "Calling init()");new TestLogging().init();}public void init() {java.util.Properties prop = System.getProperties();java.util.Enumeration enum = prop.propertyNames();("***System Environment As Seen By Java***");cat.debug("***Format: PROPERTY = VALUE***");while (enum.hasMoreElements()) {String key = (String) enum.nextElement();(key + " = " + System.getProperty(key));}}}############################################################Log4J 默认情况下可以记录五个层次(由低到高)的日志消息。
1. 什么是Log4j插件Log4j是一个开源的日志记录框架,广泛应用于Java项目中。
Log4j插件是用于在开发过程中方便地使用Log4j框架的工具,能够帮助开发人员快速配置和管理日志记录功能。
2. Log4j插件的安装在使用Log4j插件之前,首先需要在开发环境中安装Log4j插件。
可以通过Maven或手动下载Jar包的方式将Log4j插件导入到项目中,然后在项目配置文件中声明Log4j插件的依赖关系。
3. Log4j插件的配置在项目中成功导入Log4j插件后,需要对插件进行配置。
首先需要创建一个Log4j配置文件(通常命名为log4j.properties或log4j.xml),在配置文件中指定日志记录的格式、输出目标、日志级别等参数。
4. 使用Log4j插件记录日志配置完成后,开发人员可以通过调用Log4j插件提供的API来记录日志。
开发人员可以在代码中插入日志记录语句,指定日志的级别(如DEBUG、INFO、WARN、ERROR等),以及日志的内容。
通过Log4j插件记录的日志可以输出到控制台、文件、数据库等不同的目标。
5. Log4j插件的优点Log4j插件提供了丰富的日志记录功能,可以根据需要灵活地配置日志记录的方式和输出目标。
Log4j插件具有较高的性能和稳定性,适用于各种规模的项目。
另外,Log4j插件支持多种日志级别,开发人员可以根据实际需要精细地控制日志的记录和输出。
6. Log4j插件的注意事项在使用Log4j插件的过程中,需要注意配置文件的正确指定和日志记录语句的合理使用。
对于不同的项目和需求,需要仔细选择适合的日志记录方式和输出目标,以便保证日志记录的准确性和便捷性。
7. 结语Log4j插件是一个优秀的日志记录工具,能够帮助开发人员轻松地实现日志记录的功能。
通过仔细的配置和合理的使用,开发人员可以充分发挥Log4j插件的优势,为项目提供有效的日志管理和追踪功能。
希望本文对大家了解Log4j插件的用法有所帮助。
Log4j实用手册=================================================================================================== 简介1.Log4J是Apache的一个开源项目,是用来操作程序日志信息的框架。
______________________________________________________________________________________2.Log4J的功能通过配置log4j.properties属性文件实现。
______________________________________________________________________________________3.log4j.properties文件中配置日志信息的记录器,并为记录器配置日志级别、输出地点、输出格式。
·首先定义记录器,管理不同的日志信息(可以配置一个或多个记录器);·每一个记录器对应一个或多个存放器,用来设置日志信息的存放地点;·每一个存放器对应一个布局格式,用来设置日志信息输出时的布局格式。
记录器用来整合日志信息,一个日志信息整合好之后,交给记录器的所有存放器,每一个存放器根据自己的格式进行输出记录改条日志信息。
所以:存放器是属于记录器的,格式布局是属于存放器的。
记录器可配置多个存放器,存放器只能有一个输出方式。
______________________________________________________________________________________4.输出地点·控制台- Console·文件- File·GUI component - GUI组件·Remote socket server - 套接口服务器·NT Event Logger - NT的事件记录器·Remote UNIX Syslog daemon - UNIX Syslog守护进程______________________________________________________________________________________5.输出格式·HTML格式·灵活格式·包含日志信息的级别和信息字符串·包含日志产生的时间、线程和类别等信息______________________________________________________________________________________6.程序中通过获得记录器,调用记录器的方法来产生日志信息。
Log4j日志工具
基本介绍
原理:输出级别,输出样式,输出目的地
常用:commons-logging(Apache组织)、Log4j、jdk1.4自带的Logging Commons-logging日志控件可以控制使用Log4j还是使用Logging,当有Log4j 时使用Log4j,否则使用logging。
Log4j:Log4j只在初始化的时候打开文件,并保持对文件的写控制,到系统结束时在
关闭文件,这样使IO次数达到最小,提高了运行效率。
Log4j可使用xml和属性文件配置使用。
输出级别:All,TRACE(跟踪),DEBUG(调试),INFO(信息),WARNING(警告),
ERROR(错误),FITAL(致命),OFF
使用后面的输出级别会自动屏蔽掉前面的输出级别。
配置3个重要概念
日志记录器(Logger)
输出地(Appender)
日志格式话器(Layout)
Logger配置介绍
Log4j中有一个跟记录器rootLogger,它是所有Logger的父类。
语法:log4j.rootLogger=ERROR, yin //配置所有类
.newer.dao.BaseDAO=DEBUG //配置指定类 Category: .newer=DEBUG //相当于com.newer下所有Logger,Gategory类似于Package
Appender配置介绍
定义:表示输出到什么地方,控制台、文件、数据库、远程服务器等。
log4j.appender.yin=org.apache.log4j.ConsoleAppender // 控制台输出
# log4j.appender.yin.Threshold=DEBUG //以DEBUG以上级别输出
# log4j.appender.yin.Encoding=UTF-8 //编码方式
# log4j.appender.yin.ImmediateFlush=true //是否立即输出
# log4j.appender.yin.Target=System.err //使用System.err输出
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=Hibernate: %m%n #号注释可省略,#注释必须另起一行,输出有 System.err和System.out
输出到文件:
log4j.rootLogger=ERROR, file
log4j.appender.file = org.apache.log4j.FileAppender //文件
log4j.appender.file.File = log.txt
log4j.appenile.Append=true
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=Hibernate: %m%n
Append:可选,是否在原文件内容的基础上追加日志,默认为true追加,
false会先清掉文件内容再写入。
File:表示文件路径,可使用相对路径和绝对路径。
输出到按大小滚动文件(RollingFileAppender)
输出到按日期滚动文件(DailyRollingFIleAppender)
输出到JDBC数据库
输出到SOCKET套接字(SocketAppender)
输出到SMTP邮件(SMTPAppender)
Layout配置介绍
PatternLayout布局
HTMLLayout布局
XMLLayout布局
PatternLayout:最常用的格式化器,用户可自定义输出信息。
Log4j.rootLogger=DEBUG, A1
Log4j.appender.A1=org.apache.log4j.ConsoleAppender
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
HTMLLayout:将日志格式化为HTML代码,输出到文件后,可以直接用浏览器浏览。
文件后缀为 .html
XMLLayout:把日志内容格式化为XML文件,XML文件的好处是解析比较容易,
有现成的DOM技术与SAX技术。
输出到数据库
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.BufferSize=10
log4j.appender.db.URL=jdbc:oracle:thin:@localhost:1521:SSH
log4j.appender.db.driver=oracle.jdbc.driver.OracleDriv.appender.d er=newer
log4j.appender.db.password=newer
log4j.appender.db.sql=INSERT INTO SYS_LOGS
(LOGIN_ID,PRIORITY,LOG_DATE,CLASS,METHOD,MSG)
VALUES('%X{userId}','%p','%d{yyyy-MM-dd HH:mm:ss}','%C','%M','%m') yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%m
常用Log4j配置
log4j.rootLogger=INFO,yin
#.newer.dao.impl.Paginaction =DEBUG,file
#.newer=DEBUG
log4j.appender.yin=org.apache.log4j.ConsoleAppender
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%d [%p] %c{1}.java[%L] %M()%n
#log4j.appender.file = org.apache.log4j.FileAppender
#log4j.appender.file.File =F:\\log.txt
#log4j.appenile.Append=true
#yout=org.apache.log4j.PatternLayout
#yout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS}
[%c]-[%p] %m%n
# All,TRACE(GenZong),DEBUG,INFO,WARNING(JingGao),ERROR,FITAL(ZhiMing),OFF。