草庐IT

os_log_debug

全部标签

java - 多模块 Maven 项目中的 log4j 配置文件

我正在做一个多模块的Maven项目,它的结构是这样的:war-modulejar-modulewar-module依赖于jar-module,打包后会将jarartifact添加到webapp的lib目录下。并且war-module和jar-module都使用Apachelog4j进行日志记录,共享同一个log4j配置文件(log4j.xml),目前位于jar-module项目中。而这个log4j.xml会被打包成jar-module.jar文件,不过我想把它放到war包的WEB-INF/classes目录下,而不是放在jar文件里,这样用户会很容易找到这个配置文件并在必要时修改它(如

OS X Mountain Lion 上带有自签名证书的 Java 小程序

我们有一个Java小程序需要以完全信任的方式运行。在开发和预发布测试期间,我们使用自签名证书对其进行签名(生产版本使用真实代码签名证书进行签名)。但是当我们尝试在OSX10.8的prerelase上启动自签名小程序时,我们不能再选择让它运行了。“允许”按钮被简单地禁用:如果我按“显示详细信息...”,我可以选择“始终信任”证书,但这没有区别:它在OSXLion10.7上使用相同版本的JavaJRE,所以我怀疑这是操作系统的问题,而不是JRE。有什么解决方法吗?我宁愿不使用真实的代码签名证书进行测试:使用真实的代码签名证书签名意味着我的公司断言小程序是安全的并且应该被信任。在我们测试之前

java - 如何为 Mybatis 配置 log4j 来打印我的 SQL

我的项目是用SpringMVC+Mybatis+EXTJS4搭建的。这是我的配置:#Rulesreminder:#DEBUG但它不会在控制台中打印SQL,有人可以帮助我吗?非常感谢 最佳答案 Jaradinor的回答可能会奏效。但是,我认为潜在的问题是由于MyBatisLogFactory类是如何实现的。在静态block中,它尝试加载slf4j,然后是commmons-logging,然后是log4j。因此,如果您的类路径中有commons-logging,它将使用它。由于您使用的是Spring,因此您可能确实有commons-lo

java - 按需重新加载 log4j2 配置

我将log4j2.xml配置文件设置为每30秒检查一次:...是否可以通过编程方式告诉log4j2检查配置更改而不是超时?注意我不想以编程方式加载指定配置文件的配置,我只想告诉log4j2检查之前加载的配置文件,就好像monitorInterval已过期一样。谢谢! 最佳答案 看来我找到了解决方案:((org.apache.logging.log4j.core.LoggerContext)LogManager.getContext(false)).reconfigure();有没有人发现这有什么问题/副作用?

java - 为什么我在 MAC OS X 10.11 上看不到 JAVA_HOME 路径?

我正在尝试在我的MACOSX10.11(ElCapitan)上运行JAVA应用程序。我用了thislink在我的MACOSX10.11上设置JAVA_HOME。我可以运行以下命令:java-version哪个java但是,当我转到MAC上的终端应用程序并键入echo$JAVA_HOME时,我什么也没看到。这是为什么?这是否意味着我的JAVA_HOME设置不正确? 最佳答案 在哪里定义好的,首先,我们要明确在哪里设置JAVA_HOME。简化后,您可以在两个文件中定义它:~/.bashrc或~/bash_profile。默认前者为所谓的

java - 如何在 El Capitan (OS X 10.11) 上设置需要旧版 java 的应用程序?

我全新安装了ElCapitan。我在我的MacbookAir上安装了PHPStorm。当我尝试运行该应用程序时,我收到一条错误消息,指出无法打开PHPStorm,因为它需要旧版JavaSE6。我在下面附上了错误图片。我在安装Yosemite时遇到了同样的问题,但我能够从Apple的网站安装旧版Java修复程序(JavaforOSX2014-001)。当我尝试安装相同的java修复程序时,出现以下错误:无法在此磁盘上安装OSX的Java。已安装此软件包的较新版本任何想法和帮助将不胜感激!谢谢 最佳答案 为ElCapitan下载Java

java - 为什么这个算法的Big-O是N^2*log N

从a[0]到a[n-1]填充数组a:生成随机数,直到得到一个不在先前索引中的数字。这是我的实现:publicstaticint[]first(intn){int[]a=newint[n];intcount=0;while(count!=n){booleanisSame=false;intrand=r.nextInt(n)+1;for(inti=0;i我以为是N^2,但显然是N^2logN,我不确定何时考虑对数函数。 最佳答案 0条目立即被填充。1条目被随机数填充的概率为1-1/n=(n-1)/n。所以我们平均需要n/(n-1)个随机

网络安全 log4j漏洞复现

前言:log4j被爆出“史诗级”漏洞。其危害非常大,影响非常广。该漏洞非常容易利用,可以执行任意代码。这个漏洞的影响可谓是重量级的。漏洞描述:由于ApacheLog4j存在递归解析功能,未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最终在目标上执行任意代码。简单点说,就是可以通过输入一些具有特殊意义的字符来攻击服务器。如果入侵者在前端页面上输入了:${jndi:rmi://127.0.0.1:8080/evil}这串字符,然后后台用log4j记录了这串字符,log4j会自动使用jndi调用这个地址上的rmi内容。如果这个rmi的内容是删除数据库,重启服务器这种恶意程序

java - 覆盖 log4j.properties

我的java应用程序引用了一个使用log4j日志记录的第3方jar文件。问题是这个jar包含它自己的log4j.properties文件,这会导致我的机器上出现访问被拒绝的异常,但我无法控制jar文件来更改其内容。我已经尝试在我的应用程序的类路径中添加我自己的log4j.properties文件,但它似乎没有效果。如果我尝试使用PropertyConfigurator以编程方式导入我自己的设置,log4j似乎首先加载jar文件的属性文件(导致异常)。我如何短路log4j以忽略第3方jar文件的log4j.properties文件并使用我自己的文件? 最佳答案

java - 是否可以将 log4j 配置为在每次运行应用程序时创建一个新文件?

例如,我第一次运行应用程序时(或在我清除/logs目录后立即运行),我希望log4j将应用程序的日志写入名为log.0的文件。然后,我退出应用程序并重新启动它,我希望将日志写入log.1。等等。我想将它保留在配置文件中,尽管如果我不能,我想我总是可以在设置log4j时在我的应用程序中这样做。这可能吗?如果是,怎么办? 最佳答案 也许这就是你要找的东西http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-applicatio