2017-02-23 35 views
1

log4j.appender.LOGFILE.Append =真Log4j的,追加=真正的意义/假

的医生说:

如果追加参数为true,该文件将被追加到。否则,由filename指定的文件将在被打开之前被截断。

是否意味着如果Append = true,新的日志会被追加到文件的尾部?那么“截断”是指什么?内容将在打开文件之前被删除?

谢谢。

+1

是的,“截断”的意思是“缩短” - 在这种情况下,基本上,文件将被覆盖,就好像它从未存在过。 –

+0

@JonSkeet谢谢Jon – Rangtian

+0

@JonSkeet这是一种微不足道的,但这应该是一个答案,因为它回答了OP的问题。否则它将永远不会被接受的答案,对吧? – Fildor

回答

4

是的,“由文件名指定的文件将被截断”意味着任何以前存在于该文件中的数据将会消失。这不仅仅是日志记录,这是一个更一般的概念

假设你有一个文件最初包含数据“AB”:

  • 如果你打开它追加值“C”,该文件最终将包含“ABC”。

  • 如果将其打开为截断然后写入“C”,则文件最终将包含“C”。

  • 如果打开它而不截断覆盖,则文件最终将包含“CB”。 (这很少是一个有用的选项。)