Jakarta ee struts2不工作的简单sl4j测井

Jakarta ee struts2不工作的简单sl4j测井,jakarta-ee,logging,struts2,slf4j,Jakarta Ee,Logging,Struts2,Slf4j,我正在用Struts2开始新的生活。使用sl4j登录HelloWorld示例。没有创建日志文件,控制台中也没有任何内容 有人帮帮我,我做错了什么? 下面是我的项目结构。 属性文件 # Default Logging Level is DEBUG. levels: DEBUG < INFO < WARN < ERROR < FATAL OR ALL. Its only appender to FILE. # Root logger option log4j.rootLo

我正在用Struts2开始新的生活。使用sl4j登录HelloWorld示例。没有创建日志文件,控制台中也没有任何内容

有人帮帮我,我做错了什么?

下面是我的项目结构。

属性文件

# Default Logging Level is DEBUG. levels: DEBUG < INFO < WARN < ERROR < FATAL OR ALL. Its only appender to FILE.

# Root logger option
log4j.rootLogger = ALL, FILE, stdout

# Define the file appender
# log4j.appender.FILE=org.apache.log4j.FileAppender

# backup the log files when they reach a certain size
log4j.appender.FILE=org.apache.log4j.RollingFileAppender

# Set the name of the file
log4j.appender.FILE.File=C:\\test.log

# Specify the log file size and max backup index.
log4j.appender.Logger.MaxFileSize=5mb
log4j.appender.Logger.MaxBackupIndex=20

# Set the threshold to debug mode
log4j.appender.FILE.Threshold=DEBUG

# Set the append to false, overwrite
log4j.appender.FILE.Append=false

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# log4j.rootLogger = ALL, FILE, stdout
# Output To Console: Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
#默认日志记录级别为DEBUG。级别:调试<信息<警告<错误<致命或全部。它是文件的唯一附加程序。
#根记录器选项
log4j.rootLogger=ALL,文件,标准输出
#定义文件追加器
#log4j.appender.FILE=org.apache.log4j.FileAppender
#当日志文件达到一定大小时备份它们
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
#设置文件名
log4j.appender.FILE.FILE=C:\\test.log
#指定日志文件大小和最大备份索引。
log4j.appender.Logger.MaxFileSize=5mb
log4j.appender.Logger.MaxBackupIndex=20
#将阈值设置为调试模式
log4j.appender.FILE.Threshold=DEBUG
#将附加设置为false,覆盖
log4j.appender.FILE.Append=false
#定义文件附加器的布局
log4j.appender.FILE.layout=org.apache.log4j.patternalyout
log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
#log4j.rootLogger=ALL,文件,标准输出
#输出到控制台:将日志消息直接发送到标准输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.patternalyout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
Strust.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <constant name="struts.devMode" value="true" />

    <package name="default" extends="struts-default">
        <action name="HelloWorld" class="vaannila.HelloWorld">
            <result name="SUCCESS">/success.jsp</result>
        </action>
    </package>
</struts>

/success.jsp

在部署的应用程序的类路径中需要三个JAR,WAR的类路径是WEB-INF/lib。你需要:

  • 您的代码在登录时使用的slf4j接口
  • 执行日志记录的实际日志框架
  • 底层框架与那些slf4j接口的“绑定”
  • 假设log4j1.2.x是底层框架,这些东西分别映射了以下3个jar

  • slf4j-log4j12.jar
  • slf4j-api.jar
  • log4j12.jar
  • 还要注意的是,slf4j文档是全面的、切中要害的


    但是这个例子有效吗?红色感叹号表示什么错误?如果项目与库相关,请清理它。@pigueiras,项目正在工作。红色箭头仅显示添加了所需的罐子。问题是:并没有创建日志文件,并且我在控制台中并没有看到任何应该由?生成的日志。我并没有看到任何错误。而
    devMode
    与日志无关。你用的是什么服务器?Tomcat7的Eclipse插件?您在HelloWorld的何处使用log4j记录器?我想在不使用/启动log4j系统时可能不会创建日志文件。