草庐IT

Creating-and-configuring-log-stre

全部标签

java - Log4j 单例包装器的好处?

我最近继承了一些Java代码,需要将其集成到我正在从事的项目中。我的项目是一个处理和转换XML消息的服务代理。在查看新代码时,我发现了以下日志记录类:importorg.apache.log4j.BasicConfigurator;importorg.apache.log4j.Level;importorg.apache.log4j.Logger;publicclassMyLogger{privatestaticMyLoggerinstance=null;protectedfinalstaticLoggerlog=Logger.getLogger(MyLogger.class);pri

java - Setters AND(不是 OR 或 VS)构建器模式

我有一种情况,我使用构建器模式来构建对象。最好的例子是披萨代码publicclassPizza{privateintsize;privatebooleancheese;privatebooleanpepperoni;privatebooleanbacon;publicstaticclassBuilder{//requiredprivatefinalintsize;//optionalprivatebooleancheese=false;privatebooleanpepperoni=false;privatebooleanbacon=false;publicBuilder(intsiz

Java 兴趣点 : How to find an Excel cell with a string value and get its position (row) to use that position to find another cell

我正在电子表格中查找具有字符串“总计”的单元格,然后使用该单元格所在的行在始终为相同单元格/列(第10个单元格)的另一个单元格中查找总值在基于0的索引中)。我有以下代码,没有错误(语法),但是findCell方法没有返回rowNum值:publicstaticvoidmain(String[]args)throwsIOException{StringfileName="C:\\file-path\\report.xls";StringcellContent="Total";intrownr=0,colnr=10;InputStreaminput=newFileInputStream(f

java - Log4J:关闭 Hook 上的致命异常,无法弄清楚原因

我刚刚将log4j集成到我的应用程序中,并且我正在设置AspectJ以使用log4j并最终将所有登录转移出我的主代码。所以,简而言之,我正在设置执行日志条目的方面,然后在短时间内运行我的程序来测试它们。在这些短期运行期间,我经常遇到以下异常:2015-09-2815:21:48,222Thread-4FATALUnabletoregistershutdownhookbecauseJVMisshuttingdown.java.lang.IllegalStateException:Cannotaddnewshutdownhookasthisisnotstarted.Currentstate

java - 如何区分日志文件中的 log4j session 与同一 Web 应用程序的副本?

只有一个文件。它是在网络应用副本运行时同时编写的。如何从其他日志行中仅过滤一条session日志消息? 最佳答案 使用包含NDC或MDC信息的servlet过滤器是我见过的最佳方式。两者的快速比较可在http://wiki.apache.org/logging-log4j/NDCvsMDC获得。.我发现MDC过去对我来说效果更好。请记住,您需要更新log4j属性文件以包含您喜欢的任何版本(模式定义位于http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Patter

java - 为什么 log4j 在(多次)重复相同异常后禁用堆栈跟踪?

在我们的一个客户安装中,我们遇到了数千次相同的异常。在大量记录良好的堆栈跟踪(9332)之后,仍然记录了异常的发生,但没有堆栈跟踪。重新启动java进程后,同样的事情:这次我们有17858个堆栈跟踪,然后只有异常发生本身。有个类似的问题here,但没有答案...这是log4j的特性还是错误?(我相信前者,因为我真的很喜欢那些apache家伙做的事)有什么想法吗? 最佳答案 使用Java5或更高版本?然后你会看到:ThecompilerintheserverVMnowprovidescorrectstackbacktracesfora

java - 'mix class and interfaces in the same package' 是不好的做法吗?

我刚刚发现了一些我以前从未听说过并且我不同意(到现在)的东西。在(已投票且未进一步评论)answer我阅读了“为什么要在同一个包中混合类和接口(interface)”所以我想知道,是否有理由将Java中的接口(interface)和实现分开。我知道我们没有义务将所有实现都放在接口(interface)包中,但(有时)不在那里是明智的吗?问候迈克[;-) 最佳答案 我同意org.life.java-我将拥有服务和底层service.impl包,但始终采用那种安排。我不同意“不好的做法”这个词。太强了。java.utilCollecti

java - 如何删除Java String中的所有 "() and text within it"

我想问一下在JavaString中删除括号和其中的文本。例如,我有Stringstr="Iamanew(Software)Engineer"现在的问题是,如何在不使用的情况下去掉这里的子串“(software)”str.replace("(software)","")因为可能在下一个字符串中我会得到“我是一个新的(电气)工程师”或“(机械)”或类似的东西。那么我该怎么做,我认为一种方法是获取“(”和“)”的索引并使用该索引删除/替换它们,但我希望有一些更短的方法可以做到这一点 最佳答案 使用正则表达式匹配括号中的任何内容:str=s

java - IntelliJ 13 Tomcat 配置类 org.springframework.web.util.Log4jConfigListener 的应用程序监听器时出错

我正在尝试使用IntelliJ13及其内置的Tomcat部署插件运行Java/Spring/Hibernate/Ivy应用程序。我使用的是Tomcat8.0.9,但我也尝试过使用Tomcat6.0.39。当我尝试启动Tomcat时,我正在创建一个工件;更具体地说,是一场爆炸性的war。我正在使用Ivy来解决我的依赖关系,这是因为它是一个不使用Maven的遗留应用程序。愚蠢,我知道。当尝试使用任何版本的Tomcat从IntelliJ内部运行此应用程序时,我在“服务器”日志中收到以下消息:C:\dev\apache-tomcat-6.0.39\apache-tomcat-6.0.39\bi

Java 开关 : variable declaration and scope

Java编译器如何处理以下开关block?“b”变量的范围是什么?请注意,“b”变量仅在switch语句的第一个分支中声明。尝试在第二个分支中声明它也会导致“重复局部变量”编译错误。inta=3;switch(a){case0:intb=1;System.out.println("case0:b="+b);break;case1://thefollowinglinedoesnotcompile:bmaynothavebeeninitialized//System.out.println("case1before:b="+b);b=2;System.out.println("case1a