log4J日志文件

日志处理是每一个项目开发中必须的功能,日志是在程序运行时在其他文件中记录的运行信息。

在应用程序中输出日志有三个目的:

1     监视代码中变量的变化情况,把数据周期性地记录到文件中供其他应用进行统计分析工作。

2     跟踪代码运行时轨迹,作为日后审计的依据。

3     担当集成开发环境中的调试器,向文件或控制器打印代码的调试信息。

用户可以自由地选择实现日志接口的第三方软件,比如:Log4J、NoOpLog、SimpleLog等都是通用日志包的实现。

日志文件作用:是一个记录器,用于记录程序运行过程中的各种信息。

日志配置:主要设置记录的级别、存放位置和显示信息的布局。可以使用log4j.properties或log4j.xml格式进行配置。

log4j.properties:

加载log4j.properties步骤:

1:将log4j的jar包放到lib目录下

2:将log4j.properties文件放到src目录下

3:在类中导入类import org.apache.log4j.Logger;

4:在类中定义对象Logger logger = Logger.getLogger(this.getClass());

5:使用logger输出日志logger.info(string);

Apache通用日志包(Log4J,下载地址:http://logging.apache.org/log4j)是Apache的一个开源代码项目,它提供了一组通用的日志接口,通用日志包中的两个常用接口是LogFactory和Log。

通用日志包把日志消息分为六种级别:

FATAL(致命级别)、ERROR(错误级别)、WARN(警告级别)、INFO(一般信息)、DEBUG(调试信息)和TRACE(跟踪信息)。

其中FATAL级别最高,TRACE级别最低,通用日志包采用日志级别机制,可以灵活的控制输出的日志内容。

org.apache.commons.logging.Log接口提供如下方法输出不同级别的日志。


方法名称


说明


fatal(Object message)


输出FATAL级别的日志消息


error(Object message)


输出ERROR级别的日志消息


warn(Object message)


输出WARN级别的日志消息


info(Object message)


输出INFo级别的日志消息


debug(Object message)


输出DEBUG级别的日志消息


trace(Object message)


输出TRACE级别的日志消息

Log4j允许我们控制日志信息输送的目的地,可以是控制台、文件、GUI组件、UNIX Syslog守护进程等;也允许我们控制每一条日志的输出格式;通过定义每一条日志信息的级别(fatal,error,warn,info,debug),我们能够更加细致地控制日志的生成过程。同时,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

Log4J配置文件内容主要由三大组件构成:

①  Logger:负责生成日志,并能根据配置的日志级别来决定什么日志消息应该被输出,比指定级别高的日志信息都能够输出,比如指定日子级别为INFO,那么INFO、WARN、ERROR、FATAL日志都能够输出。

②  Appender:定义日志消息输出的目的地,指定日志消息应该被输出到什么地方,可以是控制台、文件或者网络设备。

③  Layout:指定日志消息的输出格式。

Log4J的配置文件有两种格式,一种是xml文件,一种是properties文件。下面采用properties文件的形式进行日志配置。定义配置文件名为log4j.properties,放置在classes目录下。

1     配置Logger组件

配置Logger组件的语法:

格式:
#log4j.rootLogger=日志级别,Appender名称1, Appender名称2,…
说明:
a、级别分别是:fatal > error > warn > info > debug > trace
b、存放位置列表使用逗号进行分隔,分别是存放变量的说明(在下面配置输出目的地时需要引用)
注意:
如果级别是info,则大于等于info的才记录,比info级别低的不记录(其他级别类似)。

#其中日志级别可以是前面定义的六种级别中的一种,Appender名称可以是任何合法的标示符。

#可以是一个,也可以是多个,下面配置的日志级别是INFO,Appender名称分别是A1和R: 

代码:log4j.rootLogger=INFO, A1 ,R

2    针对Logger的Appender进行配置,配置日志消息输出目的地Appender,其语法是:

格式:
log4j.appender.存放位置变量 = 存放位置类的完全限定名(一般由log4j组件提供)① 
log4j.appender.存放位置变量.属性 = 属性值
说明:
a、log4j提供了几种与存放位置对应的类
1、org.apache.log4j.ConsoleAppender(控制台)
2、org.apache.log4j.FileAppender(文件)
3、org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
4、org.apache.log4j.RollingFileAppender(文件到达一定尺寸时,则产生一个新的文件)
5、org.apache.log4j.WriterAppender(日志流,可以日志消息以流格式发送到任何指定的地方)
b、File属性
可以设置输出的具体文件名
c、Threshold属性
可以设置输出的级别

代码: 

log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=c:/log4j.htm  ②

①  Log4J提供的Appender类有以下几种:如:上a。

②  将日志输出到C:/log4j.htm文件中

3     配置Layout组件

配置Layout组件的语法:

格式:
log4j.appender.存放位置变量.layout = 布局类的完全限定名(一般由log4j组件提供)① 
log4j.appender.存放位置变量.layout.属性 = 属性值
说明:
a、log4j提供了几种与布局对应的类
1、org.apache.log4j.HTMLLayout(以html表格形式布局)
2、org.apache.log4j.PatternLayout(按指定的模式进行布局,通过设置属性可以灵活的指定布局模式)
3、org.apache.log4j.SimpleLayout(简单的布局,包含了级别和信息字符串)
4、org.apache.log4j.TTCCLayout(包含时间、线程、类别等信息的布局)
b、布局中ConversionPattern属性的参数:

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

#例如:

log4j.appender.A1.layout=org.apache.log4j.HTMLLayout

log4j.appender.R.layout.ConversionPattern=%-d{HH:mm:ss} [%c]-[%p] %m%n ②

在Tomcat中,自带通用日志接口包(commons-logging.jar),并且只要在classes目录下存在log4J.properties文件就会自动的加载Log4J的配置信息。通过自带通用日志包引导Log4J进行日志输出。因此不需要配置通用日志接口,通用日志接口配置文件应该放在/WEB-INF/classes目录下,文件名为:commons-logging.properties,配置代码如下:

配置通用日志包的语法:#org.apache.commons.logging.Log=实现类全限定名

例如:

#比如,Log4J的实现类是:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog

:在程序中使用Log4J可以通过自身的API,也可以使用通用日志包接口进行访问。

//通用日志包使用

//导入:org.apache.commons.logging.Log

//导入:org.apache.commons.logging.LogFactory

Log log=LogFactory.getLog(this.getClass());

log.debug("debug........");

log.info("info..........");

 

//Log4J自身API使用

//导入org.apache.log4j.Logger

Logger logger = Logger.getLogger (this.getClass());

logger.debug("debug........");

logger.info("info..........");常用的配置:
配置1:
#配置根:og4j.rootLogger=DEBUG,A1,R
#配置控制台输出:
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
#配置每天一个日志文件:
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=blog_log.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
配置2:
log4j.rootLogger=DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE
log4j.addivity.org.apache=true
################### 
# 控制台配置
################### 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold=DEBUG 
log4j.appender.CONSOLE.Target=System.out 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[日期]%n%p[级别]%n%x[循环诊断环境]%n%t[线程] n%c[类]%n%m[消息]%n%n
##################### 
# 文件配置
##################### 
log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=file.log 
log4j.appender.FILE.Append=false 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n 
######################## 
# 每天一个日志文件的配置 
######################## 
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=rolling.log 
log4j.appender.ROLLING_FILE.Append=true 
log4j.appender.ROLLING_FILE.MaxFileSize=10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex=1 
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
######################## 
# 邮件配置 (需要JavaMail和JAF的支持)
####################### 
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.Threshold=FATAL 
log4j.appender.MAIL.BufferSize=10 
log4j.appender.MAIL.From=iambenbenchen@163.com
log4j.appender.MAIL.SMTPHost=mail.163.com 
log4j.appender.MAIL.Subject=Log4J 消息 
log4j.appender.MAIL.To=iambenbenchen@163.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
######################## 
# 数据库配置(mysql,注意:每行之后不能有空格,否则报错)
####################### 
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver 
log4j.appender.DATABASE.user=root 
log4j.appender.DATABASE.password= root
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') 
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout 
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
示例代码:

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Logger;

public class LoginAction{

Log log=LogFactory.getLog(this.getClass());
Logger logger = Logger.getLogger (this.getClass());

public void method(){
log.info(userInfo.getUserInfo().getUserName()+ " log_info开始登陆");
logger.info(userInfo.getUserInfo().getUserName()+ " logger_info开始登陆");
}
}

 public class LoginServlet extends HttpServlet{

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

...

Logger logger=Logger.getLogger(this.getClass());
logger.info(name+"开始登录");

...

logger.info(name+"登录失败"+e.getMessage());

...

logger.info(name+"登录成功");

...

}

}

log4j.properties文件:

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

#定义一个名字为file的Appender,它的类型是RollingFileAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
#设置最大文件尺寸为1MB,当日志文件大小达到1MB时,开始备份到备份文件中
log4j.appender.file.MaxFileSize=1MB
#设置备份文件的最大数目为1024个文件,超过1024将自动删除最旧的文件
log4j.appender.file.MaxBackupIndex=1024
#指定file Appender输出的日志文件的名字和存放路径。
log4j.appender.file.File=D\:/salog4j.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%-5p] %m%n%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=info, file

#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug

### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug

### log just the SQL
#log4j.logger.org.hibernate.SQL=debug

### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=trace

### log schema export/update ###
#log4j.logger.org.hibernate.tool.hbm2ddl=debug

### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug

### log cache activity ###
#log4j.logger.org.hibernate.cache=debug

### log transaction activity
#log4j.logger.org.hibernate.transaction=debug

### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug

### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

 

log4j.xml配置文件设置

<?xml version='1.0'
encoding='UTF-8'?>
<!DOCTYPE
log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender
class="org.apache.log4j.DailyRollingFileAppender"
name="rollingFile">
<param name="DatePattern"
value=".yyyy-MM-dd"/>
<param name="File"
value="c:\log\log.log"/>
<param name="Encoding"
value="GBK"/>
<layout
class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p %-5c{3}:%L %X{client} -&gt; %m%n"/>
</layout>
</appender>
<logger name="com.lovebay">
<level value="DEBUG"/>
</logger>
<logger name="org.hibernate.SQL">
<level value="DEBUG"/>
</logger>
<!--
<logger name="org.springframework">
<level value="DEBUG"/>
</logger>
-->
<root>
<level value="INFO"/>
<appender-ref ref="rollingFile"/>
</root>
</log4j:configuration>
————————————————————————————————————————————————

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE log4j:configuration SYSTEM
    "log4j.dtd">
  3. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  4. <!-- 类似定义logger节点打印具体类,或某包中的指定级别以上日志 -->
  5. <logger name="common.TestLog4j">
  6. <level value="debug" />
  7. [color=red]<appender-ref ref="console" />[/color]
  8. </logger>
  9. <!-- 和logger节点功能差不多,打印具体类,或某包中的指定级别以上日志
  10. <category name="common.TestLog4j">
  11. <priority value="warn"/>
  12. </category>
  13. -->
  14. <appender name="console"
    class="org.apache.log4j.ConsoleAppender">
  15. <!--param name="Threshold" value="INFO" 为打印logger 去掉Threshold参数配置 /-->
  16. <layout
    class="org.apache.log4j.PatternLayout">
  17. <param name="ConversionPattern"
  18. value="【AppLog】 %d{ABSOLUTE} %-5p %m%n" />
  19. </layout>
  20. </appender>
  21. <appender name="file"
  22. class="org.apache.log4j.DailyRollingFileAppender">
  23. <param name="File" value="log.txt" />
  24. <!--日志过滤门槛,记录warn以上级别日志 -->
  25. <param name="Threshold" value="WARN" />
  26. <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
  27. <layout
    class="org.apache.log4j.PatternLayout">
  28. <param name="ConversionPattern" value="%d %-5p %m %n" />
  29. </layout>
  30. </appender>
  31. <root>
  32. <!-- root 整体设置过滤优先级,如果appender 没有设置filter或Threshold 默认采用该级别,定义的logger不在其中(即不会被过滤掉)。 -->
  33. <priority value="INFO" />
  34. <appender-ref ref="console" />
  35. <appender-ref ref="file" />
  36. </root>
  37. </log4j:configuration>

————————————————————————————————————————————————

在jboss中hibernate启动时总是会写入一堆日志信息到

 D:\jboss-4.0.2\server\default\log\server.log中,导致启动的时候速度比较慢,修改应用程序的log4j.properties的配置也不起作用,后来发现修改log4j.xml的配置可以屏蔽这些输出信息,提高启动速度

2. Log4j.xml配置文件内容具体的配置:

·        
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

 

<!-- ===================================================================== -->

<!--                                                                      
-->

<!-- 
Log4j Configuration                                                  -->

<!--                                                                      
-->

<!-- ===================================================================== -->

 

<!-- $Id: log4j.xml,v 1.26.2.2 2005/03/02 14:52:20 tdiesler Exp $ -->

 

<!--

  
| For more configuration infromation and examples see the Jakarta Log4j

  
| owebsite: http://jakarta.apache.org/log4j

 -->

 

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

 

  
<!-- ================================= -->

  
<!-- Preserve messages in a local file -->

  
<!-- ================================= -->

 

  
<!-- A time/date based rolling appender -->

 

  
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">

     
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

     
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>

     
<param name="Append" value="false"/>

 

     
<!-- Rollover at midnight each day -->

     
<param name="DatePattern" value="'.'yyyy-MM-dd"/>

 

     
<!-- Rollover at the top of each hour

     
<param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>

     
-->

<!—默认没有这两行,加上可以屏蔽输出调试信息到server.log中,提高启动速度-->

 

    
  <param name="Target" value="/System.out"/>

 

     
<param name="Threshold" value="ERROR"/>

 

 

     
<layout class="org.apache.log4j.PatternLayout">

        
<!-- The default pattern: Date Priority [Category] Message\n -->

        
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>

 

        
<!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n

        
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>

 
        -->

     
</layout>

  
</appender>

 

  
<!-- A size based file rolling appender

  
<appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">

    
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

    
<param name="File" value="/${jboss.server.home.dir}/log/server.log"/>

    
<param name="Append" value="false"/>

    
<param name="MaxFileSize" value="500KB"/>

    
<param name="MaxBackupIndex" value="1"/>

 

    
<layout class="org.apache.log4j.PatternLayout">

    
  <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>

    
</layout>     

  
</appender>

  
-->

 

  
<!-- ============================== -->

  
<!-- Append messages to the console -->

  
<!-- ============================== -->

 

  
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">

     
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

<!—配置是否输出各种级别的信息到控制台à

 

     
<param name="Target" value="/System.out"/>

 

     
<param name="Threshold" value="ERROR"/>

 

 

  
   <layout class="org.apache.log4j.PatternLayout">

        
<!-- The default pattern: Date Priority [Category] Message\n -->

        
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>

     
</layout>

  
</appender>

 

 
……

 

 

 

 

时间: 2024-09-08 14:24:37

log4J日志文件的相关文章

java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)_java

log4j输出多个自定义日志文件 如果在实际应用中需要输出独立的日志文件,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢? 先看一个常见的log4j.properties文件,它是在控制台和test.log文件中记录日志: 复制代码 代码如下: log4j.rootLogger=DEBUG, stdout, logfile  log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.lay

log4j日志文件乱码问题的解决方法

 近日在AIX上用log4j打印日志,出现乱码,经过努力解决问题.   症状:在默认语言非中文(或者说默认语言不支持中文的)的Windows.Linux.Unix上,用log4j打印日志,出现乱码,常见的就是一堆问号.   解决方法: 如果是log4j.properties为配置文件,比如: log4j.appender.A1=org.apache.log4j.RollingFileAppender log4j.appender.A1.File=all.log 加入一行:   log4j.app

java-log4j对于一个logger对象动态设置日志文件路径

问题描述 log4j对于一个logger对象动态设置日志文件路径 如题,比如我想对logger对象log动态设置日志输出的路径,路径分别是Alog.log和ABlog.log,但是我的程序每次在向ABlog.log中输出日志的同时都会向Alog.log也写日志 解决方案 log4j日志文件路径设置

Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下

以下都是log4j.properties要写入的内容: 一:参数介绍: 1.Log4J配置文件的基本格式如下: [plain] view plaincopy #配置根Logger   log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  -      #配置日志信息输出目的地Appender   log4j.appender.appenderName  =  fully.qualified.name.of.a

log4j:在某个文件夹下输出多个日志文件

问题描述 log4j:在某个文件夹下输出多个日志文件 开户的过程中,想让每个手机号对应一个日志文件,都放在同一个目录下. 日志文件的名字以手机号来命名.使用log4j,应该怎么做呢? 急求急求,大家帮帮忙...... 解决方案 log4j输出多个自定义日志文件Log4j输出日志到文件[配置]log4j异步文件日志输出配置 解决方案二: 创建日志得时候用手机号命名呗

log4j每天生成日志文件

问题描述 log4j每天生成日志文件 我在本机配置的log4j,是可以第天生成日志文件的,但我把项目部署到win server 2008以后,就不会每天生成了,而是每天追加到第一次启动时生成的日志文件里面,不知道是咋回事呢,权限那些也是正常的,下面是我的log4j配置: #日志级别INFO,输出到控制台.文件 log4j.rootLogger=INFO,CONSOLE,FILE #控制台输出配置 log4j.appender.CONSOLE=org.apache.log4j.ConsoleApp

log4j日志问题-在非WEB项目中配置了log4j日志的配置文件,日志应该打在哪个目录下的文件

问题描述 在非WEB项目中配置了log4j日志的配置文件,日志应该打在哪个目录下的文件 我发现只有在控制台可以看到日志,日志不会到印到文件里面,求帮忙解决一下 我以为是打印到log/test.log文件里面的,但是没有,自己创建了文件,也不会写进去 log4j.propertis文件内容如下: log_home=../log log4j.rootLogger=debug,Console log4j.appender.Console=org.apache.log4j.ConsoleAppender

A项目是独立的功能模块包含自己的log4j配置,A打成jar包,B引用A.jar。能建立日志文件,但无法打印日志。

问题描述 A是一个独立的项目,包含自己的log4j,打包成jar包后,如果单独用java-jarA.jar的话不仅可以生成日志文件还能打印日志.B是一个spring,hibernate的项目也有自己的log4j的配置,但如果是在B项目中引用了A.jar,就只能建立日志文件,但无法打印日志. 解决方案 解决方案二:打包的时候,不要把日志文件和jar打进去.

怎样用log4j读取日志文件然后把日志信息放到数据库(要源代码)。谢谢,急用。第一次这东西

问题描述 log4j.rootLogger=DEBUG,CONSOLE,ROLLING_FILE DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASElog4j.addivity.org.apache=true解决方案二: 解决方案三: 解决方案四: 解决方案五: 解决方案六: 解决方案七:# # Console Appender 解决方案八: 解决方案九: 解决方案十: 解决方案十一: 解决方案十二: 解决方案十三:# log4j.appender.CON