gpt4 book ai didi

java - Log4j 禁用 #timestamp 注释

转载 作者:行者123 更新时间:2023-12-01 09:00:24 26 4
gpt4 key购买 nike

我有这样的log4j.properties文件:

#Wed Jan 18 12:55:30 EET 2017
log4j.rootLogger=ERROR, stdout, gui, clientFile
log4j.logger.app=DEBUG
...

当我启动应用程序时,带有时间戳的第一行(#Wed Jan 18 12:55:30 EET 2017)总是在变化。它会导致 Git 提交出现一些问题(我无法将此文件添加到 .gitignore)。

找到添加时间戳的内容:这个方法在app中调用 linkedProperties.store(fileOutputStream, null); store()方法的实现来自于java.util.Properties。

    package java.util;
...
public class Properties extends Hashtable<Object,Object> {
...

public void store(OutputStream out, String comments)
throws IOException
{
store0(new BufferedWriter(new OutputStreamWriter(out, "8859_1")),
comments,
true);
}

private void store0(BufferedWriter bw, String comments, boolean escUnicode)
throws IOException
{
if (comments != null) {
writeComments(bw, comments);
}
bw.write("#" + new Date().toString());
bw.newLine();
synchronized (this) {
for (Enumeration<?> e = keys(); e.hasMoreElements();) {
String key = (String)e.nextElement();
String val = (String)get(key);
key = saveConvert(key, true, escUnicode);
/* No need to escape embedded and trailing spaces for value, hence
* pass false to flag.
*/
val = saveConvert(val, false, escUnicode);
bw.write(key + "=" + val);
bw.newLine();
}
}
bw.flush();
}
...

我怎样才能避免这个bw.write("#"+ new Date().toString());?有没有类似java.util.Properties的东西?

最佳答案

编辑:考虑到OP的编辑,这个答案现在基本上是多余的,按照我的建议来查找将时间戳添加到文件中的内容。不过,我会将其保留在这里,因为它也许会对某人有所帮助。

<小时/>

首先,实际上不可能指示 Git 忽略文件中的各个行。

我的第一个建议是找到正在将时间戳添加到文件中的内容并停止它。

唯一能在 Git 中帮助你的事情就是从 Git 工作树中删除文件。

git update-index --skip-worktree <file>

这将指示 Git 不应提交该文件的更改版本,因此不会将其包含在其工作树中,但仍将跟踪的副本保留在存储库中。 Look here for official docs

显然,如果您要求开发人员定期更新/提交此文件,这将不起作用。

关于java - Log4j 禁用 #timestamp 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41719062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com