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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
Logging Wildfly Swarm的日志级别配置_Logging_Spring Boot_Wildfly Swarm - Fatal编程技术网

Logging Wildfly Swarm的日志级别配置

Logging Wildfly Swarm的日志级别配置,logging,spring-boot,wildfly-swarm,Logging,Spring Boot,Wildfly Swarm,在开发基于Wildfly Swarm的应用程序时,如何使用project-stages.yml中可用的属性配置日志记录级别 换句话说,SpringBoot的“logging.level.com.acme.rest=DEBUG”属性的等价物是什么 目前我知道: “swarm.logging=DEBUG”可用于配置所有日志级别(不是我需要的) 可以使用“standalone.xml”,但不够友好 LoggingFraction可用于以编程方式配置日志级别(也不是我需要的) 文档中还提到了“logg

在开发基于Wildfly Swarm的应用程序时,如何使用project-stages.yml中可用的属性配置日志记录级别

换句话说,SpringBoot的“logging.level.com.acme.rest=DEBUG”属性的等价物是什么

目前我知道:

  • “swarm.logging=DEBUG”可用于配置所有日志级别(不是我需要的)
  • 可以使用“standalone.xml”,但不够友好
  • LoggingFraction可用于以编程方式配置日志级别(也不是我需要的)
  • 文档中还提到了“logging.level”,但到目前为止我还不能让它工作

感谢您抽出时间

您应该能够在末尾添加一个类别:

-Dswarm.logging.com.acme.rest=DEBUG

您应该能够在末尾添加一个类别:

-Dswarm.logging.com.acme.rest=DEBUG

为了实现这个目标,我创建了一个loggingFraction方法。就像这样:

 protected LoggingFraction logging() {

        String logName = swarm.stageConfig().resolve("application.name").getValue();
        String category = swarm.stageConfig().resolve("logger.category").getValue();

        String levelName  =swarm.stageConfig().resolve("logger.level").getValue();

        final String logFile = System.getProperty("user.dir") + File.separator+
                "target"+File.separator+
                logName+".log";

        LoggingFraction loggingFraction = new LoggingFraction()
                .periodicSizeRotatingFileHandler(logName,(h)->{
                    h.level(Level.valueOf(levelName))
                            .append(true)
                            .suffix(".yyyy-MM-dd")
                            .rotateSize("30m")
                            .enabled(true)
                            .encoding("UTF-8")
                            .maxBackupIndex(2);
                    Map<String,String> fileSpec = new HashMap<>();
                    fileSpec.put("path", logFile);
                    h.file(fileSpec);
                }).logger(GetinApp.class.getPackage().getName(),(l)->{
                    l.level(Level.valueOf(levelName))
                            .handler(logName);
                });;
      })
        List<String> categories = Arrays.asList(category.split(","));
        categories.forEach(c->{
            loggingFraction.logger(c.trim(),l->{
               l.level(Level.valueOf(levelName)).handler(logName);
            });
        });

        return loggingFraction;
    }

为了实现这个目标,我创建了一个loggingFraction方法。就像这样:

 protected LoggingFraction logging() {

        String logName = swarm.stageConfig().resolve("application.name").getValue();
        String category = swarm.stageConfig().resolve("logger.category").getValue();

        String levelName  =swarm.stageConfig().resolve("logger.level").getValue();

        final String logFile = System.getProperty("user.dir") + File.separator+
                "target"+File.separator+
                logName+".log";

        LoggingFraction loggingFraction = new LoggingFraction()
                .periodicSizeRotatingFileHandler(logName,(h)->{
                    h.level(Level.valueOf(levelName))
                            .append(true)
                            .suffix(".yyyy-MM-dd")
                            .rotateSize("30m")
                            .enabled(true)
                            .encoding("UTF-8")
                            .maxBackupIndex(2);
                    Map<String,String> fileSpec = new HashMap<>();
                    fileSpec.put("path", logFile);
                    h.file(fileSpec);
                }).logger(GetinApp.class.getPackage().getName(),(l)->{
                    l.level(Level.valueOf(levelName))
                            .handler(logName);
                });;
      })
        List<String> categories = Arrays.asList(category.split(","));
        categories.forEach(c->{
            loggingFraction.logger(c.trim(),l->{
               l.level(Level.valueOf(levelName)).handler(logName);
            });
        });

        return loggingFraction;
    }
在project-stages.yml中,可以定义日志记录级别(有关所有选项的完整列表,请参阅):

在project-stages.yml中,可以定义日志记录级别(有关所有选项的完整列表,请参阅):

OP对LoggingFraction说:“不是我需要的”。OP对LoggingFraction说:“不是我需要的”。