草庐IT

java - 如何在log4j2中实现自定义模式布局

我正在将我的应用程序从log4j迁移到log4j2API。迁移时,我发现使用了custompatternlayouts、patternparsers和patternconverters。我不知道如何使用log4j2插件实现这些更改。任何人都可以帮助我如何将此自定义布局TestPatternLayout转换为log4j2。非常感谢。PFB关于如何使用log4j实现自定义模式布局的完整细节。测试模式布局:publicclassTestPatternLayoutextendsPatternLayout{@OverrideprotectedPatternParsercreatePatternP

java - 使用 Date 或 List 在简单的 getter 和 setter 方法中解决 Sonar 问题

我编写这个getter/setter以从Eclipse源菜单中列出:publicDategetDate(){returndate;}publicvoidsetDate(Datedate){this.date=date;}Sonar报告两个问题:Returnacopyof"date"&Storeacopyof"date"有解释"Mutablemembersshouldnotbestoredorreturneddirectly"和示例代码:publicString[]getStrings(){returnstrings.clone();}publicvoidsetStrings(Strin

java - 有没有办法在 Oracle/JDBC 中区分 DATE 和 TIMESTAMP?

我有一个Java应用程序,用户可以在其中在屏幕上构建他们的SQLselect语句。一旦他们输入select,我就会使用JDBC分析列类型。对于Oracle,DATE类型的JDBC等价物是java.sql.Types.Timestamp,因为DATE包括时间。问题是我需要根据列类型格式化结果集。如果是DATE,我需要格式化值YYYY-MM-DD。如果是TIMESTAMP,我需要格式化值YYYY-MM-DDHH:MM:SS。我需要的是在JDBC中区分DATE和TIMESTAMP结果。有没有办法做到这一点?示例代码:Stringsql="selectdate_col,timestamp_co

java - log4j 停止记录到文件,

我在我的java应用程序中使用log4j,但是一段时间后没有抛出任何异常它就停止了记录我的log4j配置如下。log4j.rootLogger=INFO,FILElog4j.appender.FILE=com.test.TestFIleAppenderlog4j.appender.FILE.MaxFileSize=20MBlog4j.appender.FILE.MaxBackUpIndex=200我的文件附加程序包含一些代码来执行zip操作并指定日志文件格式等等。这一段时间记录正常,但突然停止记录,也没有抛出异常任何人都可以告诉我可能是什么问题吗?有人知道像这样的log4j相关问题吗?

java - log4j: Tomcat 6 错误

我使用JavaEE编写了一个Web应用程序。我正在使用log4j和Tomcat6.0.28。当我在tomcat上启动我的应用程序时,控制台每3秒出现以下错误消息:log4j:ERRORLogMananger.repositorySelectorwasnulllikelyduetoerrorinclassreloading,usingNOPLoggerRepository.有人知道这是什么意思吗?log4j.xml可能有问题吗?如果需要,我可以发布更多代码/配置文件。应用程序有效,但我有点担心。谢谢... 最佳答案 这是一个log4j

【超详细】springboot + springdoc-openapi + knife4j 集成案例

springdoc-openapi简介springdoc-openapijava库有助于使用springboot项目自动生成API文档。springdoc-openapi通过在运行时检查应用程序以根据spring配置、类结构和各种注释推断API语义来工作。自动生成JSON/YAML和HTML格式API的文档。可以使用swagger-api注释通过注释来完成此文档。该库支持:OpenAPI3SpringBoot(v1,v2andv3)JSR-303,specificallyfor@NotNull,@Min,@Max,and@Size.Swagger-uiOAuth2GraalVM原生镜像为什么使

java - Tomcat 7 将所有日志记录到 catalina.out 但不记录到 log4j2 定义的文件中

在将我的应用程序转换为网络应用程序之前。Log4j将日志记录在我在log4j2.xml中定义的正确日志文件(info.log和debug.log)中。但是当我将我的应用程序更改为web.app时,所有日志现在都记录到servlet容器(tomcat7)中的catalina.out文件中。部署应用程序后,log4j2创建了这些日志文件,但它们仍然是空的,所有日志都转到catalina.out文件。你能指出我做错了什么吗。在web.xml中,我添加了必要的配置。project-servicecontextConfigLocationclasspath*:applicationContext

java - log4j2 日志记录发生在错误的路径中

我在weblogic中部署了一个耳朵,log4j2.xmllogPath设置为some_path_1和一个记录器定义为在这个ear/lib中有一个包含log4j2.xml的jar,logPath属性定义为some_path_2和一个包装结构非常相似的记录器两个log4j2.xml也配置为具有不同的日志文件名。但是两者的日志都在路径some_path_2中,并且文件名在该jar中定义如何确保两个日志记录输出按照定义分别发生?我的耳朵结构是这样的ear|--lib|--|--abc.jar|--|--|--log4j2.xml//theonethatsgettingloaded|--xyz

java - 无法索引类 module-info.class atlog4j-api.jar : java. lang.IllegalStateException : Unknown tag! pos=4 poolCount = 24

我们已将log4jjar从log4j-api-2.7.jar更新为log4j-api-2.10.0.jar。我们在JBoss启动时收到警告(我们使用的是JBoss-EAP-7.0)。2018-09-0505:31:28,669WARN[org.jboss.as.server.deployment](MSCservicethread1-2)WFLYSRV0003:Couldnotindexclassmodule-info.classat/content/project.ear/shared/log4j-api.jar:java.lang.IllegalStateException:Unk

java - 如何在 Java 中创建一个没有年份参数的新 Date 对象?

我正在尝试使用新的SimpleDateFormat来解析格式为dd-MM的字符串。基本上,我想从字符串中创建一个日期对象并保存在数据库中。当我检查数据库条目时,我看到它将1970附加到年份列。我相信它是为空时提供的年份的默认值。有没有办法防止年份值。我不想存储有关年份的信息。我的代码-StringdateOfBirth="14-Feb";dbObject.save(newSimpleDateFormat("dd-MMM").parse(dateOfBirth));为简单起见,假设dbObject.save()方法需要提供日期对象。我不想创建一个有值(value)的日期-14-Feb-1