文档章节

linux环境下Jboss服务启动日志目录发生变化

Shawn_Cheung
 Shawn_Cheung
发布于 2014/05/19 14:30
字数 669
阅读 3155
收藏 2

最近服务器(linux环境)日志出现异常,经过反复查找,问题得到解决;

由于出现故障的应用记录日志采用的是./log/xxxx.log方式,启动服务路径不同,日志生成目录会不同。

以下是解决问题的步骤:

1)定位log4j jar包出现冲突

从故障表象来看,如果日志组件无法输出日志,一般先查找应用中是否存在相同的log4j包;(根据应用的织组方式不同,有可能存在多个应用同时部署,这个也是最难找,也是最麻烦的事情),经过定位,采用的log4j为jboss应用包,所以不存在与其它应用中的log4j包冲突,只需查看是否jboss应用中有冲突包;(结果是没有)

2)定位log4j jar包版本及sl4j包是否匹配

经过详细比对,及log4j jar包替换,重新启动服务,仍然无法输出日志(曾经一度想升级log4j到2.x版本,但关系到服务器稳定性,及存在大量其它应用调用,升级将导致很大的工作量,而且还需要经过新一轮详尽测试才能部署到生产环境,所以在不完全肯定的情况下,未进行升级);

3)切换日志组件为绝对路径

打开应用中的log4j.properties,发现记录日志文件的路径为相对路径:./log/xxxx.log

将其修改为绝对路径:/home/test/log/xxxx.log

重新启动服务,日志文件正常输出到/home/test/log/文件夹下;

至此,问题虽然解决,但未发现因何导致,所以继续查找故障源;

4)在不同目录下进行启动

在一个偶然的情况下,本人突然修改日志文件为相对路径并切换目录进行启动;

原来在jboss/bin目录下启动,现在改为在/home/test/目录下采用jboss/bin/run.sh进行启动,结果可想而知了。。。


总结:

1,由于每个人启动服务的方式不同,会导致日志(./log)记录目录中的相对路径变量发生改变;

2,在应用中尽量采用绝对路径进行配置,这样不会因个人习惯不同而导致不同的问题;

3,如果担心绝对路径给应用移植带来不便,可以采用${path}/log/xxx.log进行配置。



© 著作权归作者所有

共有 人打赏支持
Shawn_Cheung
粉丝 0
博文 5
码字总数 1223
作品 0
广州
项目经理
私信 提问
如何将JBoss做成Redhat Linux的系统服务

怎么做才能在启动Linux系统的时候JBoss也随之启动呢? 使用Linux系统的V脚本。尽管, 在分类之间有一些不同,通常它类似这样: /etc/rc.d/init.d/ - 包含开始 和 停止 脚本 (其他分类: /etc/in...

红薯
2009/05/23
970
2
LINUX下JBOSS的安装及配置

环境:Linux AS5 Update3 JBOSS:http://www.jboss.org/jbossas/downloads/ 下载 jboss-5.1.0.GA.tar.gz(或者其他版本,本文以jboss-5.1.0.GA举例) JDK:http://java.sun.com/javase/downlo......

台风眼
2012/08/23
0
0
[转]Jboss 4 使用及安全配置

一、JBoss的安装 与配置 1、到http://www.jboss.org/ 下载jboss服务器 JBoss-4.2.3 2、 配置JBOSS_HOME, JDK环境变量 3、Windows用户 运行 JBoss 目录下的 bin/run.bat , Linux 用户运行 ./...

mj4738
2012/02/10
0
0
linux jboss 启动时 WEB-INF/classes下出现WINDOW主目录结构

linux jboss 启动时 WEB-INF/classes下出现WINDOW主目录结构: 2012-09-18 14:50:15,861 ERROR [STDERR] (main) java.io.FileNotFoundException: /usr/local/jboss-5.1.0.GA/server/default/......

sunney888
2012/09/18
293
2
JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境

什么是企业应用集群 集群是指把不同的服务器集中在一起,组成一个服务器集合,这个集合给客户端提供一个虚拟的平台,使客户端在不知道服务器集合结构的情况下可以对这一服务器集合进行部署应...

无鸯
2014/02/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MyBaties分页插件PageHelper的简单使用

抛出问题: 如果想要将现有的select语句改为支持分页功能的查询语句该怎么做呢? 最简单的一种做法就是将所有的select语句都加上limit来实现分页,这种做法有什么问题呢? 有没有一种简便方法...

嘴角轻扬30
14分钟前
0
0
创业公司如何快速构建高效的监控系统?

12 月 7 日,在 2018 ArchSummit 全球架构师峰会·运维与监控专场,七牛云资深运维开发工程师贺强带来了主题为《如何快速构建高效的监控系统》的内容分享。 本文是对演讲内容的实录整理。 大...

七牛云
14分钟前
0
0
Docker与自动化测试及其测试实践

Docker 与自动化测试 对于重复枯燥的手动测试任务,可以考虑将其进行自动化改造。自动化的成本在于自动化程序的编写和维护,而收益在于节省了手动执行用例的时间。简而言之,如果收益大于成本...

微笑向暖wx
14分钟前
0
0
Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch

随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑;一个请求可能需要多个服务的调用;当请求迟缓或不可用时,无法得知...

编程SHA
17分钟前
1
0
Swift-清除缓存

func removeCache (){ // 取出cache文件夹路径.如果清除其他位子的可以将cachesDirectory换成对应的文件夹 let cachePath = NSSearchPathForDirectoriesInDomains(FileMan...

west_zll
17分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部