Log4j 把不同包的日志打印到不同位置
Log4j 把不同包的日志打印到不同位置
如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个 Appender的日志级别、打印形式、输出位置!
############################################################################### ##########
# 日志信息配置
LOG_DIR=c://logtest/
log4j.rootLogger=WARN,rootlog,logSay
############################################################################### ##########
# 主日志控制1G 30个循环文件记录所有打印内容,不需要可以取消
log4j.appender.rootlog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rootlog.file=${LOG_DIR}/logtest.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
############################################################################### ##########
# 打印到控制台
log4j.appender.logSay=org.apache.log4j.ConsoleAppender
log4j.appender.logSay.Target=System.out
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
############################################################################### ##########
# test日志打印10M 2个循环文件
.cui.log.test1=warn,test
log4j.appender.test=org.apache.log4j.RollingFileAppender
log4j.appender.test.MaxFileSize=10240KB
log4j.appender.test.MaxBackupIndex=2
log4j.appender.test.File=${LOG_DIR}/test.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
############################################################################### ##########
# test2日志打印10M 2个循环文件
.cui.log.test2=debug,test2
log4j.appender.test2=org.apache.log4j.RollingFileAppender
log4j.appender.test2.MaxFileSize=10240KB
log4j.appender.test2.MaxBackupIndex=2
log4j.appender.test2.File=${LOG_DIR}/test2.log
yout=org.apache.log4j.PatternLayout
yout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
提供:大陆电视剧/Domestic/。
log4j maxbackupindex默认值 -回复
log4j maxbackupindex默认值-回复Log4j是Java中一个常用的日志记录工具,它提供了强大的日志功能,可以选择将日志存储到不同的位置和格式中。
其中一个重要的配置项是maxBackupIndex,默认情况下它的值是1。
本文将对maxBackupIndex 进行详细讲解。
首先,我们需要了解什么是maxBackupIndex。
在Log4j中,maxBackupIndex表示保留备份日志文件的个数。
当日志文件达到最大大小时,Log4j会自动将当前的日志文件备份,并创建一个新的日志文件。
maxBackupIndex用来控制备份文件的数量,它确保我们可以保留一定数量的备份文件,以便追溯日志记录的历史。
默认情况下,maxBackupIndex的值是1。
这意味着只会保留一个备份文件。
当日志文件达到最大大小时,Log4j会将当前的日志文件备份,并创建一个新的日志文件,旧的备份文件将被删除。
因此,默认情况下我们只能追溯到最近一次备份的日志记录。
那么为什么要使用备份文件呢?备份文件在日志记录过程中起到了重要的作用。
首先,备份文件能够保留以前的日志记录,这对于故障排查和系统监控非常重要。
其次,对于较大的应用程序,日志文件的大小可能会增长得非常快,追溯日志记录的历史可能会受到限制。
使用备份文件可以在一定程度上解决这个问题。
如果我们需要保留更多的备份文件,我们可以通过修改maxBackupIndex 的值来实现。
可以将maxBackupIndex设置为其他正整数,表示保留的备份文件的个数。
例如,将maxBackupIndex设置为5,表示我们可以保留5个备份文件。
当日志文件达到最大大小时,Log4j会将当前的日志文件备份,并创建一个新的日志文件。
最老的备份文件将被删除,以保持备份文件数量的固定。
当然,我们也可以将maxBackupIndex设置为0或者负数。
如果将maxBackupIndex设置为0,表示不保留任何备份文件。
JAVAlog4j同一个类日志输出到不同的log文件中配置
JAVAlog4j同一个类日志输出到不同的log文件中配置不能通过简单的配置log4j配置文件来实现,而需要在代码中调用Log4j的类来实现。
下面给出实现类:/** * @author QG * * 2010-7-22 上午10:27:50 LoggerRun.java */public class LoggerRun { //设定两个Logpublic static Logger infoLogger = Logger.getLogger("info.logger");public static Logger errorLogger = Logger.getLogger("error.logger");public static final String PROFILE = "log4j.properties";//设定异常log输出的路径private static final String PATH = Constants.PATH;static{try{URL configFileResource = (new File(LoggerRun.class.getResource("/").getPath()+PROFILE)).toUR L();PropertyConfigurator.configure(configFileResource);}catch(Exception e){e.printStackTrace();}}public LoggerRun(){try {Date date = new Date();SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");String fileName = PATH + "exception_" +sf.format(date).toString() + ".log";FileAppender exceptionAppender = new FileAppender(new SimpleLayout(), fileName);errorLogger.addAppender(exceptionAppender);} catch (Exception e) {e.printStackTrace();}}}同时给出配置文件配置信息:.logger=INFO, info,stdoutlog4j.category.error.logger=ERROR,errorlog4j.appender.stdout=org.apache.log4j.ConsoleAppender yout=org.apache.log4j.PatternLayo utyout.ConversionPattern=%d{yyyy/ MM/dd HH:mm:ss.SSS} %-5p %m%=org.apache.log4j.RollingFileAppe nder.File=bin/log/info.log.MaxFileSize=100kb.MaxBackupIndex=4yout=org.apache.log4j.PatternLayout yout.ConversionPattern=%d{yyyy/MM /dd HH:mm:ss.SSS} %-5p %m%nlog4j.appender.error=org.apache.log4j.RollingFileApp enderlog4j.appender.error.File=bin/log/error.loglog4j.appender.error.MaxFileSize=100kblog4j.appender.error.MaxBackupIndex=4yout=org.apache.log4j.PatternLayout yout.ConversionPattern=%d{yyyy/M M/dd HH:mm:ss.SSS} %-5p %m%n在给出测试类:public class TestLog {public static final Logger logger=Logger.getLogger(T estLog.class);/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=0;i<10;i++){if(i<5){("TEST The Logger DUBUG");}else{LoggerRun.errorLogger.error("TEST THe LOGGER ERROR");}}}}同一个类中的日志按类型输出到了不同的日志文件中。
java 打印日志的内容
java 打印日志的内容Java是一种广泛使用的编程语言,开发人员可以使用它来创建各种类型的应用程序。
在Java应用程序开发的过程中,打印日志是一种常见的调试和日志记录方法。
通过打印日志,开发人员可以追踪应用程序在执行过程中的各种信息,如变量的值、方法的调用顺序以及潜在的错误等。
本文将介绍如何在Java应用程序中打印日志的内容,并逐步回答关于日志打印的主题。
第一步:导入日志库在Java中,有多种日志库可供选择,如java.util.logging、Log4j和Logback等。
这些日志库提供了一组API和功能,用于实现日志打印和记录。
在开始打印日志之前,我们需要将所选的日志库导入到Java项目中。
可以通过Maven或手动下载日志库的JAR文件并将其添加到项目依赖中。
导入日志库后,我们可以使用库中提供的类和方法来实现日志打印。
第二步:选择日志级别Java的日志库通常提供多种日志级别,如TRACE、DEBUG、INFO、WARN、ERROR等。
不同的日志级别对应不同的日志信息,可以根据需求选择合适的日志级别。
一般来说,开发人员可以使用DEBUG级别来打印详细的调试信息,使用INFO级别来打印一般的应用程序状态信息,使用WARN 级别来打印潜在的问题和警告,使用ERROR级别来打印错误和异常信息。
在选择日志级别时,需要根据应用程序的特点和需求来决定。
第三步:获取日志实例在Java的日志库中,通常有一个类似于Logger的日志实例。
我们需要获取到这个日志实例,然后使用它来打印日志。
获取日志实例通常需要使用一个静态方法,可以通过类名.方法名的方式获取。
例如,在Log4j中,可以使用Logger.getLogger方法来获取日志实例。
在获取日志实例之前,通常需要提供一个唯一的字符串作为日志的命名空间,以便区分不同类的日志。
第四步:打印日志消息获取到日志实例后,我们可以使用它的方法来打印日志消息。
不同的日志库可能有不同的方法名和参数,但基本的原理是相似的。
使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,lo。。。
使⽤log4j2打印Log,log4j不能打印⽇志信息,log4j2不能打印⽇志信息,lo。
说来惭愧,今天就写了个"hello world",了解了⼀下log4j的⽇志。
本来是想在控制台打印个log信息,也是遇到坎坷重重,开始也没去了解log4j就来使⽤,log4j配置⽂件开始⽤的log4j.properties,结果控制台⼀直打印ERROR StatusLogger No log4j2 configuration file found.也就是Log4j2配置⽂件没找到的意思。
我就把log4j.properties⽂件名改成log4j2.properties,结果不报错了,但是就是不打印⽇志,直接就结束运⾏了(Process finished with exit code 0),现在想想好愚蠢啊。
后来经过百般折腾,发现log4j是log4j,log4j2是log4j2,不能混⽤啊,但它们都是出⾃同⼀个公司,log4j2顾名思义是第⼆代,是log4j的优化升级版。
log4j的配置⽂件是log4j.properties,是以.properties后缀名结尾的⽂件命名,⽽log4j2的配置⽂件⼀般是xml⽂件或json,以.xml或.json 后缀格式的命名,log4j更新到1.2.17版就停⽌了更新,发布了Log4j2; 我加⼊的jar包⼀直是log4j2的jar包,开始使⽤了log4j的配置⽂件(log4j.properties),所以⼀直打印不出来。
后来重新加⼊配置⽂件log4j2.xml后,就可以打印了。
maven的pom.xml⽂件中加⼊的依赖:加⼊log4j的实现和log4j核⼼包,如果版本号(version)在2.0以下,配置⽂件就是.properties了哦<!-- https:///artifact/org.apache.logging.log4j/log4j-slf4j-impl --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.6.2</version></dependency><!-- https:///artifact/org.apache.logging.log4j/log4j-core --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.6.2</version></dependency> 如果是springboot项⽬:需要排除⼀个logback的jar包,以免冲突: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><!--log4j-slf4j-impl与 logback-classic包不兼容,删除这个包 --><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></exclusion></exclusions></dependency> log4j2.xml⽂件:⽹上复制的⼀个,写的挺全,由于我只⽤到在控制台打印输出,所以我把没⽤到的都注释了。
log4j2不打印日志或者打印不受控制的日志解决办法
log4j2不打印⽇志或者打印不受控制的⽇志解决办法起因前⼏天⼀个跑有java应⽤的⽣产集群(200多台物理机)升级了⼀个版本,重启后发现约有50台机器⽇志不能正常输出,但其程序确能正常的运⾏,在⽣产环境中,⽇志是⾮常重要的⼀个监控⼿段,如果没有⽇志输出,⽆疑是⾮常危险的。
排查发现这⼀情况后,⽴即开始从jdk环境和版本,cpu负载,内存gc,线程stack,死锁,磁盘容量等多⽅⾯排查,但均没有发现异常情况,唯⼀的⼀点信息是Java进程重启时重定向到out⽂件⾥⾯的控制台输出,如下(以下均为复现时的输出):SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/Users/qindongliang/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.3/log4j-slf4j-impl-2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/qindongliang/.m2/repository/org/slf4j/slf4j-log4j12/1.7.12/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See /codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]起初并没有在意⽇志包冲突的这个细节,因为其他正常启动并能够正常打印log的机器中,也有同样的输出。
log4j输出多个日志文件
log4j输出多个自定义日志文件log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在现有的log4j基础上稍加配置即可轻松实现这一功能。
先看一个常见的log4j.properties文件,它是在控制台和myweb.log文件中记录日志:log4j.rootLogger=DEBUG, stdout, logfile.springframework=ERROR.apache=INFOlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d %p [%c] - %m%nlog4j.appender.logfile=org.apache.log4j.RollingFileAppenderlog4j.appender.logfile.File=${myweb.root}/WEB-INF/log/myweb.loglog4j.appender.logfile.MaxFileSize=512KBlog4j.appender.logfile.MaxBackupIndex=5yout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d %p [%c] - %m%n如果想对不同的类输出不同的文件(以.Test为例),先要在Test.java中定义:private static Log logger = LogFactory.getLog(Test.class);然后在log4j.properties中加入:.Test= DEBUG, testlog4j.appender.test=org.apache.log4j.FileAppenderlog4j.appender.test.File=${myweb.root}/WEB-INF/log/test.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d %p [%c] - %m%n也就是让.Test中的logger使用log4j.appender.test所做的配置。
利用log4j打印sql的log日志
利⽤log4j打印sql的log⽇志默认情况下,使⽤ibatis是不打印ibatis相关的log的,因为内部的sql执⾏都是内部调⽤,在server的控制台是不会打印log 的。
在log4j的配置⽂件log4j.properties⾥加上以下⼏句话就可以了:log4j.rootLogger=DEBUG,stdout,logfile.bill99.base=INFO.bill99.ctmp=INFO.bill99.golden.inf.sso=INFO.bill99.mdp=INFO.bill99=INFO#.bill99=falselog4j.appender.logfile=org.apache.log4j.RollingFileAppenderlog4j.appender.logfile.File=e\:\\opt\\log\\app-coe-prm.loglog4j.appender.logfile.MaxFileSize=10MB# Keep three backup files.log4j.appender.logfile.MaxBackupIndex=3# Pattern to output: date priority [category] - messageyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %t [%l]%m%nlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d %p [%c] - %m%n# SqlMap logging configuration...log4j.logger.java.sql.Connection=INFOlog4j.logger.java.sql.Statement=INFOlog4j.logger.java.sql.PreparedStatement=INFOlog4j.logger.java.sql.ResultSet=INFO使⽤如下配置可以查看sql语句中?代表的实际参数:### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n.hibernate=debug.hibernate.hql.ast.AST=debug#下⾯的两条配置⾮常重要,设置为trace后,将可以看到打印出sql中?占位符的实际内容#this is the most important config for showing parames like ?.hibernate.SQL=trace.hibernate.type=trace#above two configs.hibernate.tool.hbm2ddl=debug.hibernate.hql=debug.hibernate.cache=debug.hibernate.transaction=debug.hibernate.jdbc=debug.hibernate.connection.DriverManagerConnectionProvider=tracelog4j.rootLogger=warn, stdout.hibernate.type.descriptor.sql.BasicBinder=TRACElog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n .hibernate=debug.hibernate.hql.ast.AST=debug#下⾯的两条配置⾮常重要,设置为trace后,将可以看到打印出sql中?占位符的实际内容#this is the most important config for showing parames like ?.hibernate.SQL=trace.hibernate.type=trace#above two configs.hibernate.tool.hbm2ddl=debug.hibernate.hql=debug.hibernate.cache=debug.hibernate.transaction=debug.hibernate.jdbc=debug.hibernate.connection.DriverManagerConnectionProvider=tracelog4j.rootLogger=warn, stdout.hibernate.type.descriptor.sql.BasicBinder=TRACE。
java 多线程业务日志打印注意事项
java 多线程业务日志打印注意事项Java多线程业务日志打印是开发中非常重要的一环。
合理的日志输出可以帮助开发人员快速定位问题,提高系统的可维护性和可调试性。
然而,在多线程环境下进行日志输出也存在一些需要注意的事项。
我们需要注意的是不要输出http地址。
在开发过程中,有时候我们会将一些敏感信息(如接口地址)打印到日志中,便于调试。
然而,在生产环境中,这些信息可能会暴露给未授权的用户,造成安全风险。
因此,为了保护系统的安全性,我们应该避免输出http地址到日志中。
不要输出公式。
在一些科学计算或数据分析的场景中,我们可能会使用到一些公式。
然而,这些公式的输出对于日志来说并没有太大的意义,只会增加日志的冗余。
所以,我们应该避免输出公式到日志中,而是将其作为注释或文档的一部分进行说明。
我们要求内容不能重复。
在多线程环境下,可能会有多个线程同时写日志。
如果不加控制地输出日志,就可能出现多个线程同时写入相同的日志内容,导致日志冗余。
为了避免这种情况的发生,我们可以使用线程同步机制,如锁或信号量,来保证日志的唯一性。
在进行多线程业务日志打印时,整体格式也是需要注意的。
我们可以使用恰当的段落和标题,使文章结构清晰,易于阅读。
例如,可以使用“问题描述”、“解决方案”、“注意事项”等标题,来组织文章的内容。
同时,我们也可以使用有序列表或无序列表来展示注意事项,使文章更加规范整洁。
我们应该避免在文章中使用图片链接。
尽管图片可以更直观地展示一些概念或示例,但是使用图片链接会增加文章的加载时间和阅读成本。
为了提高文章的可读性,我们可以使用文字描述来替代图片链接,让读者更方便地获取所需的信息。
为了避免重复,我们也应该避免在文章中重复提出相同的问题。
如果在之前的段落或标题中已经提到了某个问题,那么在后续的内容中就不需要再次提及了。
这样可以避免读者的困惑,并使文章更加流畅。
我们也不需要在文章中进行自我介绍。
自我介绍对于文章的内容并没有太大的帮助,只会增加冗余。
springboot+log4j2打印sql日志到日志文件
springboot+log4j2打印sql⽇志到⽇志⽂件框架:springboot + log4j2 ⽇志框架;在yml⽂件指定mapper接⼝包名:不⽤在yml ⽂件下添加:mybatis.configuration = org.apache.ibatis.logging.stdout.StdOutImpl该标签亲测作⽤只是在控制台输⼊sql⽇志,如果想将sql打印到⽇志⽂件中,有了它的存在,只能在控制台打印sql,⽇志⽂件是不会打印的;如图所⽰:log4j2.xml ⽂件 appenders 标签下为添加到 loggers 下:完整的 log4j2.xml 内容如下:<?xml version="1.0" encoding="UTF-8"?><configuration><properties><Property name="app_name">d:gxs-log</Property><Property name="log_path">${app_name}</Property></properties><appenders><console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="[%d][%t][%p][%l] %m%n"/><!--<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>--></console><RollingFile name="RollingFileDebug" fileName="${log_path}/debug.log"filePattern="${log_path}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz"> <Filters><ThresholdFilter level="DEBUG"/><ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/></Filters><PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n"/><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><!-- 归档每天的⽂件 --><SizeBasedTriggeringPolicy size="2 MB"/><!-- 限制单个⽂件⼤⼩ --></Policies><DefaultRolloverStrategy compressionLevel="0" max="10"/><!-- 限制每天⽂件个数 --> </RollingFile><RollingFile name="RollingFileInfo" fileName="${log_path}/info.log"filePattern="${log_path}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz"> <Filters><ThresholdFilter level="INFO"/><ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/></Filters><PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n"/><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><!-- 归档每天的⽂件 --><SizeBasedTriggeringPolicy size="2 MB"/><!-- 限制单个⽂件⼤⼩ --></Policies><DefaultRolloverStrategy compressionLevel="0" max="10"/><!-- 限制每天⽂件个数 --> </RollingFile><RollingFile name="RollingFileWarn" fileName="${log_path}/warn.log"filePattern="${log_path}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz"> <Filters><ThresholdFilter level="WARN"/><ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/></Filters><PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n"/><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><SizeBasedTriggeringPolicy size="2 MB"/></Policies><DefaultRolloverStrategy compressionLevel="0" max="10"/></RollingFile><RollingFile name="RollingFileError" fileName="${log_path}/error.log"filePattern="${log_path}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz"> <ThresholdFilter level="ERROR"/><PatternLayout pattern="[%d][%t][%p][%c:%L] %m%n"/><Policies><TimeBasedTriggeringPolicy interval="1" modulate="true"/><SizeBasedTriggeringPolicy size="2 MB"/></Policies><DefaultRolloverStrategy compressionLevel="0" max="10"/></RollingFile></appenders><loggers><!--过滤掉spring和mybatis的⼀些⽆⽤的DEBUG信息--><!--<logger name="org.mybatis" level="debug" additivity="true"><AppenderRef ref="Console"/></logger>--><!--监控系统信息--><!--若是additivity设为false,则⼦Logger 只会在⾃⼰的appender⾥输出,⽽不会在⽗Logger 的appender⾥输出。
log4j使用教程详解(怎么使用log4j2)
log4j使⽤教程详解(怎么使⽤log4j2)1. 去官⽅下载log4j 2,导⼊jar包,基本上你只需要导⼊下⾯两个jar包就可以了(xx是乱七⼋糟的版本号):log4j-core-xx.jarlog4j-api-xx.jar2. 导⼊到你的项⽬中:这个就不说了。
3. 开始使⽤:我们知道,要在某个类中使⽤log4j记录⽇志,只需要申明下⾯的成员变量(其实不⼀定要是成员变量,只是为了⽅便调⽤⽽已)复制代码代码如下:private static Logger logger = LogManager.getLogger(MyApp.class.getName());⾥getLogger有⼀个参数指定的是这个logger的名称,这个名称在配置⽂件⾥⾯可是有需要的,这个待会⼉再说。
声明了Logger对象,我们就可以在代码中使⽤他了。
4. ⽇志的级别:我们现在要调⽤logger的⽅法,不过在这个Logger对象中,有很多⽅法,所以要先了解log4j的⽇志级别,log4j规定了默认的⼏个级别:trace<debug<info<warn<error<fatal等。
这⾥要说明⼀下:1)级别之间是包含的关系,意思是如果你设置⽇志级别是trace,则⼤于等于这个级别的⽇志都会输出。
2)基本上默认的级别没多⼤区别,就是⼀个默认的设定。
你可以通过它的API⾃⼰定义级别。
你也可以随意调⽤这些⽅法,不过你要在配置⽂件⾥⾯好好处理了,否则就起不到⽇志的作⽤了,⽽且也不易读,相当于⼀个规范,你要完全定义⼀套也可以,不⽤没多⼤必要。
3)这不同的级别的含义⼤家都很容易理解,这⾥就简单介绍⼀下:trace:是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低⽇志级别不让他输出。
debug:调试么,我⼀般就只⽤这个作为最低级别,trace压根不⽤。
