log4j的日志文件保存到项目发布目录,log4j文件每天分割按日期命名

自己设置目录,也就是在项目启动时通过System.setProperty来设置,实现ServletContextListener来解决:

public class log4jlistener implements ServletContextListener {

public static final String log4jdirkey = "log4jdir";

public void contextDestroyed(ServletContextEvent servletcontextevent) {

System.getProperties().remove(log4jdirkey);

}

public void contextInitialized(ServletContextEvent servletcontextevent) {

String log4jdir = servletcontextevent.getServletContext().getRealPath("/");

//System.out.println("log4jdir:"+log4jdir);

System.setProperty(log4jdirkey, log4jdir);

}

}

web.xml配置:

<listener>

<listener-class>com.haier.framework.util.log4jlistener</listener-class>

</listener>

log4j.prtperties 配置:

# Set root logger level to WARN and append to stdout

log4j.rootLogger=INFO,console,file

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout\t

# Pattern to output the caller‘s file name and line number.

#log4j.appender.console.layout.ConversionPattern=[%p]%l--- %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

#以日期命名每天的LOG文件名,

log4j.appender.file.File=${log4jdir}/logs/log.log

log4j.appender.file.DatePattern =yyyyMMdd‘.log‘

log4j.appender.file.layout = org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=[%-5p] %L-%d{yyyy-MM-dd HH:mm:ss,SSS} method:%l - %m%n

在测试的时候怎么也出不来想要的类似“log.log20140518.log”这样的日志文件,只有一个"log.log"的文件,7日(今天)生成的日志是以 “log.log”的形式存储的,当到8日(明天)的时候是把7日生成的log.log文件保存到log.log201400707.log,然后在创建一个8日的log.log文件,依次类推。

所以一定要注意,在测试的时候需要修改系统时间才能看到生成的日志。

log4j的日志文件保存到项目发布目录,log4j文件每天分割按日期命名

时间: 2024-10-13 08:36:52

log4j的日志文件保存到项目发布目录,log4j文件每天分割按日期命名的相关文章

Android 使用Log4j把日志写入SD卡,动态修改输出文件名称

一.Log4j简单使用 1. 下载log4j.jar http://logging.apache.org/log4j/2.x/ 2. 创建Java代码 public class Loggers { public static Logger logger = Logger. getLogger(Loggers. class); public static void init() { try { PatternLayout patternLayout = new PatternLayout(); p

C# 利用FTP自动下载xml文件后利用 FileSystemWatcher 监控目录下文件变化并自动更新数据库

using FtpLib; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.IO; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading; using

IOS把文件保存进沙盒目录

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"a.jpg"]];   // 保存文件的名称 BOOL result = [UIIm

java 调用命令行执行ruby ruby文件必须放在项目跟目录

import java.io.BufferedReader;import java.io.InputStreamReader; public class CMD_RUBY { private static String exeCmd(String commandStr) { BufferedReader br = null; try { Process p = Runtime.getRuntime().exec(commandStr); br = new BufferedReader(new I

log4j日志输出到web项目指定文件夹

感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导下搞定,下面是记录. 其原理在于log4j的配置文件支持服务器的vm的环境变量,如${oss.log4j.path},在log4j加载配置文件之前,先用 System.setProperty("","")设置好日志文件路径,这一操作通过一个初始的servlet来实现.

Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?

1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat日志无关. --如果你项目中的log4j指定打印到控制台,并且你开启的tomcat有控制台,那么这个时候你可以在控制台观察到日志. --如果你用log4j来处理了Tomcat的日志(具体需要你自己配置tomcat的配置文件),那么Tomcat便会使用log4j来打印,但是这和你项目中的log4j仍然

安卓项目中的必须文件

res目录.src目录和AndroidManifest.xml文件是Android项目所必须的.其他目录.其他文件都是可选的.res目录存放android项目的各种资源文件,比如layout存放界面布局文件.values目录下则存放各种XML格式的资源文件,例如字符串资源文件:string.xml;颜色资源文件:colors.xml;尺寸资源文件:dimens.xml.src目录只是一个普通的.保存java源文件的目录.AndroidManifest.xml文件是Android项目的系统清单文件

tomcat配置使用log4j管理日志

从tomcat官网下载和tomcat对应的tomcat-juli.jar和tomcat-juli-adapters.jar,从log4j官网下载log4j的jar包(我用的是log4j-1.2.17.jar),书写log4j.properties日志配置文件. log4j.properties内容: # file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.maxFileSize=2MB

linux下项目发布

修改tomcat server.xml (1)端口指向80 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8446" URIEncoding="UTF-8"/> (2)项目发布映射 <Host name="域名或者localhost或者127.0.0.1"