logstash
<configuration status="warn" monitorInterval="1800">
<appenders>
<!-- 定义控制台输出 -->
<Socket name="socket-api" host="127.0.0.1" port="8080" protocol="TCP">
<JsonLayout compact="true" eventEol="true" />
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:mm:ss.SSS} [%} [%t] %-5level %logger{36} - %ex%msg%n"/>
</Socket>
</appenders>
<loggers>
<!-- 异步发送logstash -->
<AsyncLogger name="要输出的类名" level="info" includeLocation="false">
<appender-ref ref="socket-api" />
</AsyncLogger>
<!-- dev Root Logger -->
<AsynRoot level="info" includeLocation="true">
<AppenderRef ref="Console"/>
<AppenderRef ref="file-info"/>
<AppenderRef ref="file-debug"/>
<AppenderRef ref="file-warn"/>
<AppenderRef ref="file-error"/>
</AsynRoot>
</loggers>
</configuration>
例子中使用了async模式,rollfile本身必须设置成immediateflush=“false”,然后创建一个async 节点,通过async节点网rollfile里面写日志。注意为了显示文件行数,方法名等信息加入了includelocation=“true”,在官方文档对这个有特别说明,对性能有影响,能不用就不用。level设置日志等级