WebLogic 12C服务器无法打印log4j日志问题,与log4j日志动态打印记录

环境 windows
服务器 weblogic 12C
日志 log4j或log4j2

叙述:

项目打印日志,要求需要用到log4j或log4j2,服务器用weblogic 12c,同时实现动态打印(使用环境变量,不在log4j.properties文件中写死路径)

当项目在tomcat运行的时候log4j的日志打印很正常,但是部署到weblogic时发现日志文件可以打印出来,却没有内容。

 

解决日志文件没有内容问题

查阅资料后发现,因为weblogic已经自带了slf4j的模块,与应用中的logback冲突。

原文:https://blog.csdn.net/qq_37181774/article/details/79377958

 

所以在项目的WEB-INF文件夹下添加【weblogic.xml】,解决冲突问题。




    
        /
        

    
        true
        60
        true
        true
    

    
        true        
        false
        true
           
           org.slf4j  
          

            

 

log4j与log4j2日志动态打印

实现动态打印,主要是使用配置文件中的打印输出路径不能写死,而是使用系统环境变量,这样就能在设置环境,或者修改系统环境变量下,动态打印日志了

log4j.properties(打印路径使用环境变量 ${logPath})

log4j2.xml(打印路径使用环境变量 ${sys:logPath})

WebLogic 12C服务器无法打印log4j日志问题,与log4j日志动态打印记录_第1张图片

同时修改weblogic的执行文件..\user_projects\domains\base_domain\bin\startWebLogic.cmd

linux环境下应该是修改startWebLogic.sh执行脚本

WebLogic 12C服务器无法打印log4j日志问题,与log4j日志动态打印记录_第2张图片

注释:-D代表添加环境变量

-DlogPath=E:\         代表添加环境变量名为logPath,数值为E:\ 的环境变量,这样就能实现log4j或log4j2的日志文件动态打印了。

如果解决了大家的问题,希望大家多多评论,或者有什么疑问也可以评论出来,大家一起探讨!

你可能感兴趣的:(Log4j,WebLogic,12C,Log4J,Log4j2,动态打印,日志文件无内容)