在Java中创建实用程序(不包含任何状态)类的最佳实践是什么.
在大多数情况下,我们最终会为此类任务创建静态方法.其他可能的方法可能是"创建单例对象"以执行此操作.
当需求是代码时应该设计考虑的应该是容易单元测试的?
我在 GAE 上部署了一个 Web 应用程序。我正在使用 SLF4j 的 log4j2 实现进行日志记录。
我可以在 stackdriver 控制台上看到我的所有日志。但是我所有日志的级别都显示为 stackdriver 下的信息。它没有根据日志级别(如调试、信息、警告和错误)正确分类。
例如,我的log.error("error")也显示在 stackdriver 控制台的信息级别下。
但是当我使用 SLF4 (slf4j-jdk14) 的 JUL 实现时。所有日志都在 stackdriver 中以适当的日志级别正确报告。
任何人都可以建议可能是什么问题吗?
这里是 POM。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<exclusions>
<exclusion>
<artifactId>tomcat-embed-logging-juli</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-websocket</artifactId>
<groupId>org.apache.tomcat.embed</groupId> …Run Code Online (Sandbox Code Playgroud) google-cloud-platform google-cloud-trace google-cloud-logging stackdriver google-cloud-stackdriver