草庐IT

add_file_log

全部标签

java - 如何在 Log4j 中使用 SizeBasedTriggeringPolicy 和 TimeBasedRollingPolicy?

您好,我正在使用Log4j进行日志记录。以下是我的配置。但是当我运行文件时它抛出了以下错误。log4j:WARNFailedtosetproperty[maxFileSize]tovalue"3kb".我该如何解决这个问题。请帮助我。 最佳答案 如果您使用Log4j2,您可以以KB或MB为单位指定大小。下面是相关的XML。请参阅https://logging.apache.org/log4j/2.x/manual/appenders.html了解更多详情。 关于java-如何在Log4j

java - 在 JBoss 7.1.1 下使用应用程序的 Log4J 配置

我在使用我的XMLlog4j配置文件中定义的附加程序进行日志记录时遇到问题。我在我的EAR的META-INF文件夹中创建了jboss-deployment-structure.xml但没有成功。jboss-deployment-structure.xml结构是:false我什至尝试编辑我的standalone.conf.bat文件,添加以下行:set"JAVA_OPTS=%JAVA_OPTS%-Dorg.jboss.as.logging.per-deployment=false"我的应用部署是这样的:->MyAppEAR.ear->META-INF->MANIFEST.MF->MyAo

java - 搜索 Gray Log 2 API 或查询 ElasticSearch 的方法

我有一个关于GrayLog2的问题在我工作的公司,所有系统都向具有预定义流的灰色日志服务器报告异常。我需要构建一个外部仪表板,用于从不同的流中检索数据。我还没有找到任何可用于此的GrayLog2API。我读到有可能直接查询ElasticSearch。您能否告知我该怎么做,或者是否有任何GrayLog2API。我的仪表板将用JSF或.NET编写,但仍然不确定哪个最好用。如果能详细回答这个问题,我将不胜感激。链接也会有所帮助。 最佳答案 Graylog2有一个非常清晰和完整的RestfulAPI,您可以使用Swagger浏览/测试。转到

java - 创建相关 java.io.File 的安全方法

如何以安全的方式创建相对于父文件夹的java.io.File实例,即防止恶意攻击者突破父文件夹。例子:Stringpath=request.getParameter("path");Filefile=newFile(folder,path);这是不安全的,因为攻击者可能会向我发送一个../../../etc/passwd作为path。我如何“清理”这样的路径? 最佳答案 看完其他答案后,我想到了这个解决方案:publicstaticbooleanisParent(Fileparent,Filefile){Filef;try{pare

java - Log4j Logger 中的晦涩字段和修饰符

当查看org.apache.log4j.Logger的类文件时,它定义了一个Class类型的合成字段,名称为class$org$apache$log4j$记录器.从字节码来看,很明显这个字段代表了自引用类,从那个时候常量池还不能引用类型。然而,我发现奇怪的是这个字段的修饰符0x41008表示一个private,synthetic字段(我可以遵循)但是它添加了一个修饰符0x40000,我在任何地方都找不到它。这个第19位的修饰符是从哪里来的,表达什么?(Log4j是为Java1编译的)。 最佳答案 javap对该类文件非常满意:sta

java - 如何使用 Java 8 `Files.find` 方法?

我正在尝试编写一个应用程序以在其中使用Files.find方法。下面的程序完美运行:packageehsan;/*Ihaveremovedimportsforcodebrevity*/publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{Pathp=Paths.get("/home/ehsan");finalintmaxDepth=10;Streammatches=Files.find(p,maxDepth,(path,basicFileAttributes)->String.valueOf(path).

java - SonarQube 问题 "Add at least one assertion to this test case"用于带有断言的单元测试?

我在使用SonarQube时遇到问题,我的几个单元测试出现了问题,提示了以下问题:Addatleastoneassertiontothistestcase.每个测试用例都类似于这种格式(其中许多断言被委托(delegate)给具有公共(public)断言的方法,以避免重复):@TestpublicvoidcompanyNameOneTooLong()throwsException{AddressFormBeanformBean=getValidBean();formBean.setCompanyNameOne("123456789012345678901234567890123456"

java - --add-modules 的 Java 9 反射等价物是什么?

我需要一种方法来告诉新创建的类加载器(没有设置父类)我想向它公开的模块(例如java.scripting)。在命令行上传递--add-modules的反射等价物是什么? 最佳答案 没有编程方式来实质性地编辑JVM在启动时创建的模块图(添加读取边是唯一的异常(exception))。这是为了保持正在运行的应用程序安全和稳定而做出的慎重决定。(例如,如果您在不包含java.scripting模块的运行时上运行,您的代码会发生什么情况?)不过,您可以做的是创建一个新层,其中包含一个全新的模块图。启动JVM时,它将根据命令行标志和模块路径内

java - log4j2 错误无法识别的格式说明符 [t]

我有一个在Tomcat8上运行的Web应用程序的log4j2配置文件,如下所示/path/to/log/dirsomelogfile.log%d%p%c{1.}[%t]%m%n我看到我的Web应用程序写入了日志文件,但是线程名称的%t模式似乎无法解析,所以我得到了这样的日志语句2017-06-1020:34:51,696DEBUGs.p.n.SomeServlet[%t]somelogmessage注意我得到的是%t而不是线程名称因此,为了解决这个问题,我使用选项启动了Tomcat-Dorg.apache.logging.log4j.simplelog.StatusLogger.lev

Java 7 NIO.2 Files.getLastModifiedTime 时区

我正在编写一个程序,需要确定文件/目录的最后修改时间。我想使用JodaTime来处理这个时间,我正在使用Java7NIO.2类Files来获取文件的上次修改时间。它的getLastModifiedTime()方法返回一个FileTime类的实例,它有方便的方法toMillis(),我将其结果传递给JodaTimeDateTime类构造函数:newDateTime(Files.getLastModifiedTime(path).toMillis());但是,我觉得我做错了,因为DateTime(long)构造函数明确提到DateTime实例将使用默认时区创建。但是,FileTime文档并