我想创建多个日志文件(每天),我的代码是:
public class LoggingInkrement {
static final Logger logger = Logger.getLogger(LoggingInkrement.class.getName());
public static void main(String[] args) {
LogManager manager = LogManager.getLogManager();
try {
FileHandler fhandler = new FileHandler("C:/Users/Administrator/Desktop/Logging%g.txt", 1024*1024,10, true);
SimpleFormatter sformatter = new SimpleFormatter();
fhandler.setFormatter(sformatter);
logger.addHandler(fhandler);
} catch (IOException | SecurityException ex) {
logger.log(Level.SEVERE, ex.getMessage(), ex);
}
try {
((Object) null).toString();
}
catch ( Exception e ) {
logger.log( Level.SEVERE, "oh oh", e );
}
logger.info( "Hat funktioniert" );
}
}
我的问题是:
首次运行: logging0.txt
已创建
第二次运行:没有任何反应
这些更改未被注意(它保持在" Hat funktioniert"),无论我在logger.info
但我希望的结果是:
文件在过时时自动删除
logging0.txt
等等
但我不知道我该怎么做
答案 0 :(得分:0)
FileHandler不支持daily file rotation。但是,您始终可以通过创建一个丢弃的FileHandler并将限制设置为零并将set设置为false来触发旋转。
if (isNewDay()) { //then rotate and close.
new FileHandler("C:/Users/Administrator/Desktop/Logging%g.txt",0,5, false).close();
}
//Open the log file.
FileHandler fhandler = new FileHandler("C:/Users/Administrator/Desktop/Logging%g.txt", 1024*1024,10, true);