如何将java日志写到文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将java日志写到文件相关的知识,希望对你有一定的参考价值。
你好:这个不用特意的去写;你可以通过配置log4j.xml文件,然后直接在要输出的日志地方分别用info、debug、error、warn输出日志就可以了。 参考技术A import org.apache.log4j.Logger;public class AAA
static Logger log = Logger.getLogger(AAA.class);
public int getXXX()
log.debug("AAA:getXXX");
return 0;
把你要写的日志信息写入log历就可以了。
java项目日志写到logstash-TCP/UDP
好处:项目日志写到logstash,然后发送到ElasticSearch,可以方便查看搜索日志,还可以做报表分析。
logstash是一个数据采集工具,有多种渠道,比如文件,tcp,udp等,如果是采集日志文件,那么需要在存放文件所在的服务器上,启动一个logstash服务,不方便快速部署;而采用tcp/udp的方式相对来讲就简单一点,只需要将数据发送到logstash服务就行。这里主要讲一下网络传输的方式。
首先,无论是tcp还是udp,都需要在maven里添加依赖:
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>4.8</version>
</dependency>
这里我们使用的是logback日志框架
TCP
<appender name="tcp_logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>192.168.10.11:2233</destination> <!-- encoder必须配置,有多种可选 --> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" /> </appender>
注意:class使用的是LogstashTcpSocketAppender,支持tcp传输
UDP
<appender name="udp_logstash" class="net.logstash.logback.appender.LogstashSocketAppender"> <host>192.168.10.11</host> <port>3333</port> </appender>
注意:class使用的是LogstashSocketAppender,支持udp传输
最后在<root>里,添加相应的引用就行,例如:
<root level="warn"> <appender-ref ref="udp_logstash" /> <appender-ref ref="console" /> <appender-ref ref="info" /> <appender-ref ref="warn" /> <appender-ref ref="error" /> </root>
到此,我们代码里的配置就完成了,启动程序之后,会将相应level+的日志发送到logstash。
以上是关于如何将java日志写到文件的主要内容,如果未能解决你的问题,请参考以下文章