【转】Log4j/common log和各种服务器集成的问题

转自:http://xinyanfei.blog.sohu.com/72361504.html
我从转到Java开发后,一直在开发Application Server,所以基本没有和大型的Web Server打过交道,所以关于common logging在这些server上部署时遇到的问题也只能是从理论上去解释。感觉这篇文章介绍的不错,所以转载过来。

  目前的很多商业和非商业的服务器中间件都默认集成了common-log甚至是log4j.因此当我门把我们的应用发布在上面的时候,都会遇到关于log方面的问题.
  1.webshpere下面集成log4j.
  "WebSphere的类装入器方式有两种方式:PARENT_FIRST和PARENT_LAST。默认值是PARENT_FIRST,这种方式在载入当前classpath的类之前先载入其上一级classloader能够装入的类。这是标准的JVM classloader的默认策略。如果采用PARENT_LAST,则过程正好相反,即先载入当前classpath的类,再载入其上一级classloader能够装入的类,这样可以用当前classpath中更新的类覆盖其上一级classloader的相同类。受类装入器方式影响的classloader包括application classloader、WAR classloader以及共享类库的classloader。"
 因为websphere在共享类库的classloader中有一套common logging,但是确没有合适配置文件.如果我们把配置正确的log4j.properties文件放在共享类库下,我们会发现log4j可以运行.但还有另外一个很通用的方式--改变webshpere的类库加载顺序.我们让他先加载我们web应用所需的类库.即我们把web应用的加栽方式改为PARENT_LAST.
  哎,尽管我小心的提防,今天还是中招了,在我的配置里,log4j的配置文件只能读取一次,不能一个应用一个配置文件.为了让它加载自己的配置,可以自己写(或者用spring的)servlet/listener去手动加载这个配置文件.
 2.jboss下面的集成log4j
  大家可能都曾在为jboss下面配置log4j郁闷过.jboss比webshpere走的还远.无论你的项目是否使用了log4j,jboss在自己启动的时候就已经运行他了.也就是说在jboss加载自己共享类库的时候,已经读取了自己log4j.xml文件配置.这个文件在conf中可以找到.如果你需要为你的应用单独配置一个catagory,你需要直接在这里配置.
   在webloader装载应用的时候,如果应用中有log4j的包,似乎总出现appender已被占用的问题.笔者把log4j的包连带应用中的log4j配置文件一并移去,世界清净了.
关于为了让应用自带的log4j配置文件生效,有人建议修改
 <attribute name="Java2ClassLoadingCompliance">false</attribute>

 <attribute name="UseJBossWebLoader">false</attribute>
这两个属性.
3.sunone下面集成log4j
    距离上次用SunOne服务器已经好长时间了,似乎sunOne的log有些类似jboss,也是一个服务器的log集中管理.由于使用的不是很多,暂且在这里站个位子.
随手贴点关于log的信息:
http://wiki.apache.org/jakarta-commons/Logging/FrequentlyAskedQuestions
http://www-128.ibm.com/developerworks/cn/websphere/library/techarticles/0408_baigang/part3.html

时间: 2024-10-31 21:18:00

【转】Log4j/common log和各种服务器集成的问题的相关文章

《深入学习VMware vSphere 6》——2.5 在IBM服务器集成的USB端口安装ESXi

2.5 在IBM服务器集成的USB端口安装ESXi 在以前,管理员总是习惯为每个服务器配置两块硬盘,配置成RAID1安装系统.而在现在使用虚拟化技术管理服务器的时候,一般情况下,服务器不再配置本地硬盘,而是直接从存储上为服务器分配5GB-10GB的空间,用于虚拟化系统的安装.但是,也有一些管理员,认为将虚拟化的管理程序安装在本机硬盘比较好,这时候就有以下的选择. (1)仍然为服务器配置两个较小的SAS硬盘(如300GB),配置成RAID1,安装VMware ESXi. (2)为服务器配置1块60

PHP如何将log信息写入服务器中的log文件_php实例

将log信息写入服务器中的log文件文件,折腾了一大圈终于找到了解决方案,具体内容如下: 折腾: [记录]php中如何写类和如何使用类 期间,需要整理出一份,可配置的,通用的,log系统. 支持写入log信息到log文件中. [折腾过程] 1.搜: php log to file 参考: PHP: error_log – Manual PHP: syslog – Manual How to create logs with PHP – Web Services Wiki Write to a l

思科更新UCS服务器 集成Whiptail闪存存储

[天极网服务器频道1月26日消息]近日,思科发布了新版的UCS服务器,集成了闪存功能,提高数据访问速度.新UCS服务器采用了Invicta系列闪存技术,该技术来自思科收购的Whiptail公司.思科首席执行钱伯斯在收购Whiptail后曾表示,Whiptail将加强思科的统一计算系统UCS战略,将可扩展的固态内存集成到UCS的框架计算架构中.思科已经实现了这种承诺. 思科UCS是思科的http://www.aliyun.com/zixun/aggregation/15149.html">集

linux系统的Web服务器集成vsftp的方法

昨天我们写了一篇<linux下配置web+ftp服务器全教程(一) >说完了Web服务器的安装全过程,今天我们继续说下在apahce服务器上集成vsftp,以及apache和vsftp虚拟账户的权限配置. 三.web服务器下的ftp安装配置 linux下的ftp开源软件很多,我们这里选择的是vsftp,它的信息你可以去问度娘,不解释,直接进入安装配置,同样我们使用yum命令. yum install vsftpd pam db4 [安装vsftpd主程序/pam验证/db4工具] chkcon

mysql 与缓存服务器集成的介绍(memcache+redis)

Memcached和Redis作为两种Inmemory的key-value数据库,在设计和思想方面有着很多共通的地方,功能和应用方面在很多场合下(作为分布式缓存服务器使用等) 也很相似,在这里把两者放在一起做一下对比的介绍    基本架构和思想 首先简单介绍一下两者的架构和设计思路   Memcached Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个内存key-value

Tomcat6.0与windows 2003 server 的IIS服务器集成_Tomcat

1.去对应网站下载jdk和tomcat http://www.sun.com/ http://tomcat.apache.org/ 2.对jdk进行安装,并配置环境变量 3.http://tomcat.apache.org/connectors-doc/上面下载isapi_redirect.dll,此处使用1.2.27版本. 并将isapi_redirect-1.2.27.dll拷贝到<CATALINA_HOME>/bin目录下 4.在<CATALINA_HOME>/conf目录下

log4j 远程log 如何 配置

问题描述 client端与server端的xml配置文件?如何配置呀谢谢大家 解决方案 解决方案二:应该一样的吧你配在服务端访问的时候远程访问啊解决方案三:他们之间有关系吗?各自写自己的哦解决方案四:是的啊,自己写自己的吧,楼主想问什么解决方案五:........解决方案六:独立的非要扯上关系,不妥

深入源码之Commons Logging

自从七月份去走川藏后,已经好几个月没有更新博客了.其实八月底从拉萨回来后一直在Spring的代码,也想写几篇关于Spring源码的解读,可惜Spring实在是太复杂了,花了我一个多月的时间,框架大体流程是有头绪了,但是具体实现和各个模块的具体细节还都不是很清楚,迟迟不敢动笔.其实原本我不想回到Logging这一块,我知道光看完Log4J的代码还不够,也感觉Log在系统中其实占据了蛮重要的位置(虽然很多人都没有意识到),不过一般Log框架使用简单,遇到问题也比较少,即使看完源码对实际工作也帮助不大

实例学习Apache服务器的安全防护知识

Apache 一直是世界上使用率排名前三的 Web 服务器软件.企业使用其构建 Web 应用,从很大程度上都需要对其安全性进行综合考虑,以保证能够应对拒绝服务攻击.流量窃听.数据泄漏等网络威胁,从而保证企业门户网站的安全.除了使用业界流行的防火墙.IDS/IPS(入侵检测系统 / 入侵防御系统).WAF(Web 应用防火墙).UTM(统一威胁管理)等外部安全设备对 Apache 服务进行安全防护外,作为一种优秀的开源服务器软件,Apache 本身就具有很多优秀的特性可以为服务器管理员提供安全配置