日志记录如何使用java log4j将日志文件保存在monthwise文件夹中?
我需要把我所有的log4j日志文件保存在一个单独的月份文件夹中。例如,考虑这个一月的日志应该保存在一月文件夹中,一旦二月开始,应该在二月月文件夹内创建,反之亦然。p>
谁能帮我做到这一点
提前谢谢
下面是mylog 4j配置:
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
{yyyy-MM-dd HH:mm:ss} %-5p %c %3x - %m%n
Log to file FILE
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=D:\logfile.log
log4j.appender.file.DatePattern='.'dd/MM/yyyy
log4j.appender.file.append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern= %m%n
下面是我的java代码:
final static Logger logger = Logger.getLogger(CarParser1.class);
public class CarParser1 {
final static Logger logger = Logger.getLogger(CarParser1.class);
static validatexml vxx=new validatexml();
static mailer mailobj=new mailer();
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date=new Date();
public String getHeader()
{
logger.info("************************************
************************************
****************************************");
logger.info("
CAR VALIDATOR
V1.1 ");
logger.info("
By Software Team, Thomson Digital,
India.
");
logger.info("***************************
********************************
*****************************************************");
logger.info("\n\n");
logger.info("\nExecution Date & Time :"+dateFormat.format(date));
logger.info("********************************
*******************************************");
return "";
}
# 1 楼答案
Log4j仅支持使用“org.apache.Log4j.DailyRollingFileAppender”进行每日滚动日志记录。你可以使用一些折衷的方法,比如shell脚本,或者创建一个定制的appender
# 2 楼答案
如果您使用的是linux机器,那么可以使用这样的shell脚本
并编写一个运行一次的cron作业 一个月后