gpt4 book ai didi

java - Log4j将json数组写入磁盘

转载 作者:行者123 更新时间:2023-12-02 06:06:00 27 4
gpt4 key购买 nike

我正在创建一个日志文件系统。日志文件将采用 json 格式,以便服务器可以在之后读取它,但我认为这不太重要。我需要知道的是 log4j 是否可以配置为写入文件,但文件中没有任何标签,如信息、调试、时间戳等。我看过这里

但这会用其他东西污染文件。我只想将我写入的数据显示在文件中。如果在达到最大大小后文件变得太大,我还想在文件上设置某种文件旋转。

最佳答案

这相对简单,使用 log4j.properties 配置文件(将其放在类路径的顶部,Log4j 会“找到它”):

# This is the default logger, simply logs to console
log4j.logger.com.foo.bar=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# Note the Pattern here, emits a lot of stuff - btw, don't use this in production
# %C is expensive - see the Javadoc for ConversionPattern for the meaning of all
# the % modifiers:
log4j.appender.A1.layout.ConversionPattern=%d{MMM dd, HH:mm:ss} [%C{2}] %-5p - %m%n

# Logging to file can be enabled by using this one
log4j.logger.com.example=DEBUG, R

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=/var/log/generic.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

# This is the most minimalist layout you can have: just the 'm'essage is emitted
# (and a \n newline):
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%m%n

com.foo.bar 包(和子包)中的所有类都将记录到控制台,com.example(及以下)中的类将记录到 /var/log/generic.log.

要发出 JSON,只需使用 Jackson (com.fasterxml) 将数据转换为 JSON 对象并将其作为字符串写出。

关于java - Log4j将json数组写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290497/

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