`
feigme
  • 浏览: 155112 次
  • 性别: Icon_minigender_1
  • 来自: 球面世界
社区版块
存档分类
最新评论

对log4j初始化并设置log文件的存放路径

    博客分类:
  • Java
阅读更多
利用servlet初始化时配置log的存放位置
java 代码
  1. package cn.feigme.util;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.util.Properties;
  5. import javax.servlet.ServletConfig;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import org.apache.log4j.Logger;
  9. import org.apache.log4j.PropertyConfigurator;
  10. /**
  11. * Feigme H.Guo
  12. */
  13. public class Log4jInit extends HttpServlet {
  14. private static final long serialVersionUID = 1L;
  15. private static Logger logger = Logger.getLogger(Log4jInit.class);
  16. public Log4jInit() {
  17. }
  18. public void init(ServletConfig config) throws ServletException {
  19. String prefix = config.getServletContext().getRealPath("/");
  20. String file = config.getInitParameter("log4j");
  21. String filePath = prefix + file;
  22. Properties props = new Properties();
  23. try {
  24. FileInputStream istream = new FileInputStream(filePath);
  25. props.load(istream);
  26. istream.close();
  27. String logFile = prefix + props.getProperty("log4j.appender.logfile.File");//设置路径
  28. props.setProperty("log4j.appender.logfile.File",logFile);
  29. PropertyConfigurator.configure(props);//装入log4j配置信息
  30. logger.info(logFile);
  31. } catch (IOException e) {
  32. logger.debug("Could not read configuration file [" + filePath + "].");
  33. logger.debug("Ignoring configuration file [" + filePath + "].");
  34. return;
  35. }
  36. }
  37. }

相关配置
xml 代码
 
  1. <!-- log4j config -->    
  2.      <servlet>    
  3.          <servlet-name>log4j-init</servlet-name>    
  4.          <servlet-class>cn.feigme.util.Log4jInit</servlet-class>    
  5.          <init-param>    
  6.              <param-name>log4j</param-name>    
  7.              <param-value>WEB-INF/classes/log4j.properties</param-value>    
  8.          </init-param>    
  9.          <load-on-startup>1</load-on-startup>    
  10.      </servlet>    
  11. <!-- log4j config -->  

log4j文件
java 代码
 
  1. # For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!  
  2. # For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.  
  3. log4j.rootLogger=INFO, stdout, logfile  
  4.   
  5. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  6. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  7. log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n  
  8.   
  9. log4j.appender.logfile=org.apache.log4j.RollingFileAppender  
  10. log4j.appender.logfile.File=cis.log  
  11. log4j.appender.logfile.MaxFileSize=1024KB  
  12. # Keep three backup files.  
  13. log4j.appender.logfile.MaxBackupIndex=3  
  14. # Pattern to output: date priority [category] - message  
  15. log4j.appender.logfile.layout=org.apache.log4j.PatternLayout  
  16. log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n  
分享到:
评论
1 楼 jaja_jaja 2011-07-24  
有错误,web.xml里少了servlet-mapping部分

相关推荐

    log4j中配置日志文件相对路径方法(PDF)

    ### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...

    教你更简单的使用log4j日志

    Log4j的核心在于其配置文件(Configuration File),该文件主要用于设置日志记录器(Logger)的级别(Level)、存放器(Appender)以及布局(Layout)等信息。Log4j支持两种配置方式:一种是基于`key=value`格式的文本文件;...

    apache-log4j-2.0.1-bin.zip

    3. 在代码中初始化Log4j 2,通常是通过调用`org.apache.logging.log4j.LogManager.getLogger()`方法获取Logger实例。 **最佳实践** 1. 根据项目需求选择合适的日志级别,避免过度的日志输出影响性能。 2. 分别为...

    Log4j配置相关文档

    这篇文档将深入探讨Log4j的配置文件、输出级别、Appender、Layout以及如何在代码中初始化Logger。 首先,Log4j的配置文件是整个系统日志管理的核心,它决定了日志信息的输出级别、目的地以及格式。配置文件通常以`....

    Oracle初始化参数的配置

    - `log_archive_start`, `log_archive_dest`, `log_archive_format`: 这三个参数用于开启归档模式,并指定归档日志的存放路径及格式。 - `undo_manager`: 设置为`auto`以启用自动撤销管理。 - `undo_retention`: ...

    ORACLE初始化参数详解

    理解并正确配置这些初始化参数对优化Oracle数据库性能至关重要。每个参数都有其特定的作用和最佳实践,应根据系统的具体需求进行调整。在调整参数时,应确保遵循Oracle的最佳实践,并通过监控和测试来验证参数设置的...

    如何更改oracle9i数据文件、日志文件和控制文件的存储路径

    这是因为控制文件的位置是在初始化参数文件中定义的。 2. **修改INIT.ORA文件**: - 打开并编辑INIT.ORA文件,找到`control_files`参数,并更新其值以指向新的控制文件位置。例如: ``` *.control_files = '\...

    java基础知识

    3. **通过环境变量传递配置文件路径**: 利用Log4J默认的初始化过程解析配置文件。 4. **通过应用服务器配置**: 使用一个特殊的servlet完成配置。 #### 七、为不同Appender设置日志级别 在调试系统时,可能需要关注...

    C#C++日志管理详解

    3. **初始化log4net**:通过调用log4net.Config.XmlConfigurator.Configure()方法来初始化log4net。 4. **使用log4net记录日志**:通过`log4net.Core.Logger.GetLogger()`方法获取日志记录器,然后使用不同级别的...

    达梦数据库-安装部署详细文档-初始化实例前必看!【含基本参数调整介绍】

    - 分区应考虑将系统文件与数据文件分开存放,例如 `/` (根目录)、`/opt` (应用程序安装路径)、`/var/log` (日志文件) 和 `/data` (数据库数据文件)。 - 使用不同的分区可以提高系统的稳定性和可维护性。 **2.2 块...

    用MSSQLAGENT自动备份数据库&LOG文件减肥

    -- 日志文件初始化 BACKUP LOG [MYDB] WITH TRUNCATE_ONLY; GO ``` 此脚本的主要功能包括: - 定义备份路径和备份名称,使用当前日期作为后缀确保每个备份文件唯一。 - 执行完整备份操作,并指定备份参数。 - 清空...

    oracle六种物理文件.pdf

    1. **初始化控制文件**:可以通过指定`control_files`参数来创建控制文件,并指定其存放路径。如果已有同名文件存在,需使用`controlfilereuse`子句来创建新文件,同时确保新旧文件的大小一致。 ```sql control_...

    Delphi Logger

    // ----------- 类初始化 -------------// initialization InitializeCriticalSection(log_ThreadLock); log_init; log4info('log4me:application starting....'); // ----------- 类销毁 -------------// ...

    oracle数据库克隆总结.docx

    9. 从保存的初始化参数文件创建新 spfile 初始化参数 可以使用以下命令来创建新 spfile 初始化参数: * CREATE SPFILE FROM PFILE='存放路径/inittest.ora'; 10. 创建新的控制文件 可以使用以下命令来创建新的...

    mysql最新版+配置文件.zip

    4. **初始化大小**:MySQL的数据和日志文件大小可以在配置文件中预设,例如`innodb_data_file_path`和`innodb_log_file_size`等,这些设定会影响数据库的性能和稳定性。 5. **账户和权限**:虽然不在my.ini中直接...

    2.文件结构与配置1

    在这里,我们可以找到`act`(Activiti相关文件)、`cache`(Ehcache缓存配置)、`mappings`(Mybatis SQL映射文件)、`jeesite.properties`(系统配置属性文件)、`spring-*.xml`(Spring配置文件)以及`log4j....

    oracle RAC集群修改归档日志路径.docx

    接下来,你需要更新数据库的初始化参数文件(SPFILE)来指定新的归档日志目的地。执行如下SQL命令: ``` alter system set log_archive_dest_1='location=+DATA/RACDB/archivelog' scope=spfile sid='*'; ``` ...

    rhapsody7.0 操作手册

    - 数据路径:data文件路径的改变可能涉及到`log4j`或`logback`配置文件的更新。 6. **数据库连接** - 数据库连接JAR包有两个存放位置,配置完成后需重启Rhapsody以应用变更。 7. **IDE编辑器公共功能** - **...

Global site tag (gtag.js) - Google Analytics