Jakarta ee 如何在Glassfish上配置slf4j和log4j
我试图将两个项目(ExampleWeb.war和examplejb.jar)打包到一个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
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
,除了在应用程序部署文件夹中如果有人不知道如何实现这一点(日志、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