文档章节

log4j中将日志发送到远程服务器

lateron
 lateron
发布于 2013/06/22 18:09
字数 262
阅读 10069
收藏 177

1.服务端配置

1)服务端配置文件log4j-server.properties

#Define a narrow log category. A category like debug will produce some extra logs also from server itself
log4j.rootLogger=ERROR, file

#Define how the socket server should store the log events
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application-error.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n
2)服务端启动监听
java -classpath c:\log4j-1.2.17.jar     org.apache.log4j.net.SimpleSocketServer
4712 c:\log4j-server.properties
注意,log4j-1.2.17.jar和配置文件都放在C盘,具体指定好位置即可,4712是监听的端口号。

2.客户端配置

1)客户端配置文件log4j.properties

#Define the log4j configuration for local application
log4j.rootLogger=ERROR, server

#We will use socket appender
log4j.appender.server=org.apache.log4j.net.SocketAppender

#Port where socket server will be listening for the log events
log4j.appender.server.Port=4712

#Host name or IP address of socket server
log4j.appender.server.RemoteHost=localhost

#Define any connection delay before attempting to reconnect
log4j.appender.server.ReconnectionDelay=10000
2)代码中使用
private static final Logger logger = LoggerFactory.getLogger(xx.class);
logger.error("test name:{}",guolei);

3.其他注意点

由于我们在项目中并不是要将所有的日志全部发送到远程服务器,而只是发送部分类中的,需要做特殊配置。如下:

log4j.logger.com.wanmei.marketing.RuleShowAction=INFO,server

© 著作权归作者所有

lateron

lateron

粉丝 172
博文 57
码字总数 44492
作品 1
海淀
私信 提问
加载中

评论(20)

ousinka
ousinka
目前正在考虑用这种方式收集日志。担心性能问题。楼主有没有考虑过别的解决方案?
lateron
lateron 博主

引用来自“yubingzhe”的评论

引用来自“夕水溪下”的评论

引用来自“yubingzhe”的评论

您对logstash和log4j的连接有研究吗?我看了一下logstash的log4j插件源代码,上面使用的是tcp,但是有个问题,如果使用TCP发送数据会受到网络不稳定或是远端日志收集服务器不稳定的影响,可能会使应用程序受到影响(这是最致命的),请问笔者有这方面的研究吗?

你可以封装下,才用异步的手段,如果是同步,不管是tcp和udp都会受到日志服务器影响

能详细点吗?我是个菜鸟。。。21

利用jms的api,你发一个异步消息。
y
yubingzhe

引用来自“夕水溪下”的评论

引用来自“yubingzhe”的评论

您对logstash和log4j的连接有研究吗?我看了一下logstash的log4j插件源代码,上面使用的是tcp,但是有个问题,如果使用TCP发送数据会受到网络不稳定或是远端日志收集服务器不稳定的影响,可能会使应用程序受到影响(这是最致命的),请问笔者有这方面的研究吗?

你可以封装下,才用异步的手段,如果是同步,不管是tcp和udp都会受到日志服务器影响

能详细点吗?我是个菜鸟。。。21
lateron
lateron 博主

引用来自“yubingzhe”的评论

您对logstash和log4j的连接有研究吗?我看了一下logstash的log4j插件源代码,上面使用的是tcp,但是有个问题,如果使用TCP发送数据会受到网络不稳定或是远端日志收集服务器不稳定的影响,可能会使应用程序受到影响(这是最致命的),请问笔者有这方面的研究吗?

你可以封装下,才用异步的手段,如果是同步,不管是tcp和udp都会受到日志服务器影响
y
yubingzhe
您对logstash和log4j的连接有研究吗?我看了一下logstash的log4j插件源代码,上面使用的是tcp,但是有个问题,如果使用TCP发送数据会受到网络不稳定或是远端日志收集服务器不稳定的影响,可能会使应用程序受到影响(这是最致命的),请问笔者有这方面的研究吗?
lateron
lateron 博主

引用来自“yubingzhe”的评论

引用来自“疯狂的艺术家”的评论

引用来自“夕水溪下”的评论

引用来自“疯狂的艺术家”的评论

远程发送是tcp的还是udp的?

TCP

他这个可以配置吗,配置成upd的

官方文档写的是:An Appender that delivers events over socket connections. Supports both TCP and UDP.但它怎么支持UDP?或是怎么配置?

http://stackoverflow.com/questions/14774119/how-to-use-log4j-with-udp
y
yubingzhe

引用来自“疯狂的艺术家”的评论

引用来自“夕水溪下”的评论

引用来自“疯狂的艺术家”的评论

远程发送是tcp的还是udp的?

TCP

他这个可以配置吗,配置成upd的

官方文档写的是:An Appender that delivers events over socket connections. Supports both TCP and UDP.但它怎么支持UDP?或是怎么配置?
y
yubingzhe
官方文档写的是:An Appender that delivers events over socket connections. Supports both TCP and UDP.但它怎么支持UDP?或是怎么配置?
疯狂的艺术家
疯狂的艺术家

引用来自“夕水溪下”的评论

引用来自“疯狂的艺术家”的评论

远程发送是tcp的还是udp的?

TCP

他这个可以配置吗,配置成upd的
lateron
lateron 博主

引用来自“疯狂的艺术家”的评论

远程发送是tcp的还是udp的?

TCP
Java Log4J 使用教程(java日志)

简介 2. 安装 3. log4j基本概念 3.1. Logger 3.2. Appender 3.2.1. 使用ConsoleAppender 3.2.2. 使用FileAppender 3.2.3. 使用WriterAppender 3.3. Layout 3.4. 基本示例 3.4.1. SimpleLayou......

lgxheartlikesea
2014/02/13
436
0
Spring整合log4j日志组件

Log4j是Apache的一个开放源代码项目,通过使用Log4j,控制日志信息输送的目的地可以为控制台、文件、数据库、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;可以控制...

技术小能手
2018/11/01
0
0
Log4j 日志配置示例详解

日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录,具体请参考Log4j文档指南。 Log4j下载 在apache网站,可以免费下载到Log4j最新版本的...

长平狐
2013/01/06
169
0
log4j及log4j2在Spring MVC中的使用.md

项目已上线许久,项目中使用的是log4j 1.x版本,本来日志也可以正常记录,但是运维报怨说,你们的日志太大了,catalina.out日志输出无限大,以致有些应用出现服务器存储告警,所以建议我们:...

混迹在Amoy
2018/07/28
0
0
log4j配置文件基本含义说明

log4j.properties配置文件讲解如下: # Set root logger level to DEBUG and its only appender to A1 #log4j中有五级logger #FATAL 0 #ERROR 3 #WARN 4 #INFO 6 #DEBUG 7 配置根Logger,其语......

JavaGG
2010/03/24
3.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部