文档章节

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

Shawn_Cheung
 Shawn_Cheung
发布于 2014/05/19 14:30
字数 669
阅读 3140
收藏 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
广州
项目经理
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
Jboss 5.1.0 GA配置

一、软件准备 jboss-5.1.0.GA.zip Centos 6.4 64位 java 1.7.0_25 二、软件部署 1)添加环境变量 vim /etc/profile export JBOSS_HOME=/software/jboss-5.1.0.GAexport JAVAHOME=/software/j......

吝啬鬼
2015/07/21
0
0
JBoss 系列二:使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境

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

无鸯
2014/02/04
0
0
【转】JBoss AS 7 快速上手

JBoss AS7 最近发布了 7.0.0.CR1 版本,CR意即Candidate Release(候选发布版),是JBoss AS在Alpha → Beta之后相对比较完整的一个版本,包含了CDI,JAX-RS等诸多重要特性。这次的7.0.0.CR1...

mj4738
2012/02/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
4
0
现场看路演了!

HiBlock
昨天
14
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
9
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部