为了账号安全,请及时绑定邮箱和手机立即绑定

未遵循 Java log4j2 记录器级别

未遵循 Java log4j2 记录器级别

jeck猫 2021-07-23 17:05:36
因此,我正在尝试学习 log4j2 并将我的头脑围绕在记录器及其级别和父母传播上。目前我的源层次结构运行是:├── main│   ├── java│   │   └── calculatorMain│   │       ├── Main.java│   │       ├── someClass2.java│   │       └── someClass1.java│   └── resources│       ├── Excels│       │   └── TestExcel.xlsx│       ├── FXMLs│       │   └── mainWindow.fxml│       └── log4j2.xml我的计算器Main是:Public class Main extends Application{    private static final String mainWindow = //FXML stuff    private static final Logger logger = LogManager.getLogger(Main.class.getName());    public static void main(String[] args)    {        logger.debug("Main has started");        launch(args);    }    @Override    public void start(Stage primaryStage)    {        try        {            //FXML stuff            Parent root = //fxml stuff            logger.info("Main scene loaded successfully");            if (root != null)            {                //FXML stuff            }            else                logger.error("Root was null");        }        catch (Exception e)        {            logger.error("Error",e);        }    }}我的 log4j2.xml 是<?xml version="1.0" encoding="UTF-8"?><Configuration status="warn" name="BrightnessCalculator packages">    <!-- Logging Properties -->    <Properties>        <Property name="basePath">./logs</Property>        <Property name="filePattern">${date:yyyy-MM-dd}</Property>    </Properties>问题是输出到控制台的根记录器设置为level="ERROR". 根据我对级别的理解,这意味着我的根记录器应该只输出错误日志或更低。然后是我的CalculatorMain Calculator.Main记录器,前者应该只记录错误和更低,而后者应该记录跟踪和更低。所以我的理解是错误日志和更低的将被打印两次,并且错误日志之上的任何内容都应该只根据父传播被打印到日志一次。但是,基于我的日志文件输出以下内容,情况并非如此:[DEBUG] 2018-08-17 16:37:28.239 [main] calculatorMain.Main - Main has started[DEBUG] 2018-08-17 16:37:28.239 [main] calculatorMain.Main - Main has started[INFO ] 2018-08-17 16:37:28.741 [JavaFX Application Thread] calculatorMain.Main - Main scene loaded successfully[INFO ] 2018-08-17 16:37:28.741 [JavaFX Application Thread] calculatorMain.Main - Main scene loaded successfully以上这些日志应该只打印一次。我一直在关注这个经过深思熟虑的教程,但我想我一定是误解了。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信