Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 如何在Glassfish上配置slf4j和log4j_Jakarta Ee_Logging_Glassfish_Log4j_Slf4j - Fatal编程技术网

Jakarta ee 如何在Glassfish上配置slf4j和log4j

Jakarta ee 如何在Glassfish上配置slf4j和log4j,jakarta-ee,logging,glassfish,log4j,slf4j,Jakarta Ee,Logging,Glassfish,Log4j,Slf4j,我试图将两个项目(ExampleWeb.war和examplejb.jar)打包到一个EAR文件中。除了日志记录之外,其他一切都很好。没有错误,但即使日志消息也不会显示在Glassfish服务器上。没有控制台,没有地方。 以下是我的ear文件的内容 Example.ear ExampleWeb.war ExampleEJB.jar lib log4j.properties slf4j-api-1.7.12.jar slf4j

我试图将两个项目(ExampleWeb.war和examplejb.jar)打包到一个
EAR
文件中。除了日志记录之外,其他一切都很好。没有错误,但即使日志消息也不会显示在
Glassfish
服务器上。没有控制台,没有地方。 以下是我的ear文件的内容

Example.ear
    ExampleWeb.war
    ExampleEJB.jar
    lib
        log4j.properties
        slf4j-api-1.7.12.jar
        slf4j-log4j12-1.7.12.jar
        log4j-1.2.17.jar
    META-INF
        application.xml
application.xml
的内容如下

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" id="Application_ID" version="6">
  <display-name>Example</display-name>
  <module>
    <web>
      <web-uri>ExampleWeb.war</web-uri>
      <context-root>/</context-root>
    </web>
  </module>
  <module>
    <ejb>ExampleEJB.jar</ejb>
  </module>
  <library-directory>lib</library-directory>
</application> 
以下是
log4j.properties
文件的内容

# Root logger option
log4j.rootLogger=FILE,console

# ------------- Console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
log4j.appender.console.Threshold=INFO

# ---------------- File
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${com.sun.aas.instanceRoot}/logs/log4j.log
# Archive log files (one backup file here)
log4j.appender.FILE.MaxBackupIndex=2
# Control the maximum log file size
log4j.appender.FILE.MaxFileSize=1000KB
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
log4j.appender.FILE.Threshold=INFO
需要注意的要点

  • GlassFish
    中找不到
    slf4*.jar
    ,应用程序部署文件夹中的除外
  • GlassFish
    中没有其他
    log4j.properties
    ,除了在应用程序部署文件夹中
  • 我已经尝试了很多东西,但无法解决的日志问题,请帮助我修复它

    多次测试 我已经运行了多次测试,删除了jar文件并将它们放在ear的lib文件夹中,将log4j.properties文件保存在ear文件的几乎每个文件夹(rootfolder、classes文件夹、lib文件夹、META-INFO文件夹)中,但它没有任何影响,没有错误,也没有日志记录


    如果有人不知道如何实现这一点(日志、EAR[使用多个jar和war文件]和Glassfish)将您的
    log4j.properties
    文件放在jar文件中(您可以将其命名为
    loggin.jar
    等)。您将把这个JAR文件放在
    lib
    文件夹中(log4j和SLF4J的库在同一个文件夹中)

    # Root logger option
    log4j.rootLogger=FILE,console
    
    # ------------- Console
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.layout=org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
    log4j.appender.console.Threshold=INFO
    
    # ---------------- File
    log4j.appender.FILE=org.apache.log4j.RollingFileAppender
    log4j.appender.FILE.File=${com.sun.aas.instanceRoot}/logs/log4j.log
    # Archive log files (one backup file here)
    log4j.appender.FILE.MaxBackupIndex=2
    # Control the maximum log file size
    log4j.appender.FILE.MaxFileSize=1000KB
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n
    log4j.appender.FILE.Threshold=INFO