Java Log4j-文件扩展名(.log)在使用DatePattern后消失

Java Log4j-文件扩展名(.log)在使用DatePattern后消失,java,log4j,Java,Log4j,我的Log4j.xml文件有问题。 当我保存这样的日志文件时: <appender name="file" class="org.apache.log4j.DailyRollingFileAppender"> <param name="append" value="true" /> <param name="datePattern" value="_dd.MM.yyyy_HH.mm.ss" /> <param name="file

我的Log4j.xml文件有问题。 当我保存这样的日志文件时:

<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="append" value="true" />
    <param name="datePattern" value="_dd.MM.yyyy_HH.mm.ss" />
    <param name="file" value="/logs/dailyschedule.log" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" 
                   value="%d{dd.MM.yyyy HH:mm:ss} class:[%c] method:[%t] [%-5p] : %m%n"/>
    </layout>
</appender>

}

如果您使用的是log4j 1.x,我们强烈建议您使用1而不是(可能会丢失消息,)

因此,appender的配置可以是:

  • 如果不需要第一个文件名(
    dailyschedule.log
    ),请在滚动策略中删除参数
    activeFileName

  • 如果您使用的是log4j1.x,我们强烈建议您使用1而不是(可能会丢失消息,)

    因此,appender的配置可以是:

  • 如果不需要第一个文件名(
    dailyschedule.log
    ),请在滚动策略中删除参数
    activeFileName

  • 你怎么知道分机消失了?你怎么检查?你可能是在windows上,在资源管理器中查找已知文件类型的隐藏扩展名吗?它只是一个文件,没有任何扩展名(不是像往常一样结尾的.txt或.log)。无论如何,多亏了保罗的评论,我解决了我的问题。但是谢谢你的关心。你怎么知道分机消失了?你怎么检查?你可能是在windows上,在资源管理器中查找已知文件类型的隐藏扩展名吗?它只是一个文件,没有任何扩展名(不是像往常一样结尾的.txt或.log)。无论如何,多亏了保罗的评论,我解决了我的问题。但是谢谢你的关心,谢谢你的帮助。这样没关系。谢谢你的帮助。这样没关系。
    public class DomainLogger {
    
    private Logger logger = null;
    
    public DomainLogger(String directoryName, String fileName) throws Exception {
    
        SimpleDateFormat sdf = new SimpleDateFormat("_dd.MM.yyyy");
        String timeNow = sdf.format(new Date());
    
        String fullFilePath = System.getenv("DOMAIN_HOME") + 
                directoryName + "\\" + 
                fileName + timeNow + ".log";
        System.out.println("full filepath is " + fullFilePath);
    
        logger = Logger.getLogger(timeNow);
        //warning! different time will create a new file !!!
    
        PatternLayout patternLayout = new PatternLayout("%m%n");
        FileAppender fileAppender = new FileAppender(patternLayout, fullFilePath);
        logger.addAppender(fileAppender);
    }
    
    public void writeLog(String logMessage) {
        logger.info(logMessage);
    }