java - 为什么我的 logback/logstash json 编码器配置在 Mac OS 上不起作用?
问题描述
运行以下 logback-test.xml 配置时,我的日志记录在 Windows 上运行良好。但是在 Mac 上它会创建 logfile.json 但无法向其中写入任何 json 数据?我在 mac OS 上没有日志,但是它在 mac 上输出到 SDOUT 一点问题都没有。
<configuration>
<timestamp key="time" datePattern="yyyy-MM-dd'_'HH-mm-ss.SSS"/>
<appender name="RootSiftAppender" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<Key>test</Key>
<DefaultValue>logfile</DefaultValue>
</discriminator>
<sift>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>src\\main\\resources\\${test}.json</File>
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<timestampPattern>yy:MM:dd'_'HH:mm:ss</timestampPattern>
<jsonGeneratorDecorator class="net.logstash.logback.decorate.PrettyPrintingJsonGeneratorDecorator"/>
<providers>
<logLevel/>
<timestamp/>
<message/>
<loggerName/>
<threadName/>
</providers>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>${test_name}.%i.json</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>100</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>50MB</MaxFileSize>
</triggeringPolicy>
</appender>
</sift>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%n %d{HH:mm:ss} %thread %level %logger{0} %msg</pattern>
</encoder>
</appender>
<root level="RootSiftAppender">
<appender-ref ref="RootSiftAppender"/>
</root>
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
解决方案
推荐阅读
- python-3.x - Python:如何使用一个点的纬度和它们之间的距离来计算多个点的纬度?
- python - 如何在 matplotlib 条形图中的条形上方显示 Y 值?
- startactivityforresult - 在扩展 View 而不是扩展 AppCompatActivity 的类中使用 startActivityForResult 方法?
- python - Python:创建一个使用多进程工作池来回答查询的微服务
- swift - 为什么几何阅读器不将其孩子居中?
- javascript - 使用基于索引的 replace() 更改 Javascript 中的字符串
- ssl - 禁用 ACMEv1 上的 Letsencrypt 错误帐户创建
- windows - 无法将“gatsby-plugin-netlify-cms”插件安装到 Gatsby 博客
- mysql - 变量以错误的方式切割,但现在确定为什么?
- sql - 是否可以在 Spring 中捕获自定义的 oracle sql 触发器异常并将其传递给 React?