创建记录
我创建在一个特定的路径.log文件文件,但我有一个问题,创建一个静态类和每一个我称之为一个新的.log文件创建writingLike的方法时,这是必要的注册表总是保持在同一个文件中。创建记录
下面是测试代码:
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class Utils {
public static void escribirLog(String rutaArchivo, String mensaje) {
Logger logger = Logger.getLogger("MyLog");
FileHandler fh;
try {
fh = new FileHandler(rutaArchivo);
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.info(mensaje);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String... args){
for(int i=1;i<6;i++){
escribirLog("C:\\rutaLog\\archivo.log", "MensajePrueba"+i);
}
}
}
我能做些什么,总是写在同一个文件中的日志?
你需要构建一个文件处理器启用追加到现有日志文件追加选项。
你在哪里建造你的FileHandler线,从
new FileHandler(fileName)
改变
new FileHandler(fileName, true)
这使得利用this constructor告诉的FileHandler追加到该文件。
你正在创建一个新的FileHandler
,它每次调用该方法增加了记录器实例。您有多个处理程序试图写在同一时间相同的文件名结束,第一个创建文件并锁定它,其余的都使用备用文件名。
谢谢肖恩。尝试在生成日志之前创建该文件,但同样的事情仍在发生。 – kradwarrior
您可能还需要启用附加功能(请参阅其他答案)。 –
感谢@konsolas,已经添加行'新的FileHandler(文件名,真实)'。 但是,我仍然有同样的问题。 – kradwarrior