设为首页 收藏本站
查看: 1056|回复: 0

[经验分享] Jboss迁移到Tomcat之手记(二)

[复制链接]

尚未签到

发表于 2018-12-2 07:04:22 | 显示全部楼层 |阅读模式
TomcatJboss有个很重要的区别,Jboss是会把$JBOSS_HOME/server/all/deploy/project.war包含在CLASSPATH里,而Tomcat不会,只有$PROJECT.WAR/WEB-INF/classes里。所以java代码ClassA.class.getResourceAsStream(“WEB-INF/a.properties”)无法读取到文件,因为classpath没包含此项目主目录。对应log4j,就是不要在project.warlog4j.properties/log4j.xml来配置log4J,而应该在project.war/WEB-INF/classes下。Java代码读取这里的代码可以加.JVM启动shellclasspath,或者用Listener来设置变量表示应用主目录:如下是spring的一个Listener可以配置系统变量projeta.root, java代码可以在web应用中(必须在web应用中,如果非web应用,可以容易的加classpath来解决)用System.getProperty(“projecta.root”)来读取应用的物理主目录:

                   webAppRootKey
                   projecta.root
         
         
                    
                            org.springframework.web.util.WebAppRootListener
                  
         

Tomcat内建的是jdklogging来跟踪日志,配置在$TOMCAT_HOME/conf/logging.properties.
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers=1catalina.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/projecta].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers=1catalina.org.apache.juli.FileHandler

如果要Tomcat(不是仅仅某个app)改用Log4j,根据Tomcat官方网站介绍,需要用Juli-Adapters来实现(http://tomcat.apache.org/tomcat-7.0-doc/logging.html)。
Tomcat编译得到(Ant 1.8.2:(http://ant.apache.org/bindownload.cgi)Tomcat 7 Source:(http://tomcat.apache.org/download-70.cgi) ant extras)的extras目录下的tomcat-juli.jar覆盖$TOMCAT_HOME/bin里,tomcat-juli-adapters.jar复制到$TOMCAT_HOME/lib里, log4j.jarcommon-logging.jar$TOMCAT_HOME/lib,在$TOMCAT_HOME/lib放置log4j.properties/log4j.xml即可实现log4j来记录程序日志了。
tomcat-juli.jar,tomcat-juli-adapters.jar(extras)
tomcat-juli.jar to override tomcat.home/bin.
tomcat-juli-adapters.jar to tomcat.home/lib.
log4j to tomcat.home/lib
log4j.properties/log4j.xml to tomcat.home/lib
mv conf/logging.properties conf/logging.properties.bak
如果只是某个web application需要用log4jtomcat本身还延用JDK logging的话,只需要log4j/common-logging/log4j配置在CLASSPATH里能找到即可实现。如果log4j配置不止一个,会层叠效果,如果重复项,会后者覆盖前者(classpath顺序而定)。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642125-1-1.html 上篇帖子: 我的学习笔记 --Ubuntu8.10下jdk与tomcat的安装设置 下篇帖子: 关于Tomcat Manager GUI和CATALINA_HOME环境变量的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表