我决定将Log4J日志框架用于一个新的Java项目。我想知道我应该使用什么策略来创建/管理Logger实例,为什么?每个类一个Logger实例例如classFoo{privatestaticfinalLoggerlog=Logger.getLogger(Foo.class);}每个线程一个Logger实例每个应用程序一个Logger实例水平切片:应用程序的每一层(例如View层、Controller层和持久层)中都有一个Logger实例垂直切片:应用程序功能分区内的一个Logger实例注意:这些文章已经在一定程度上考虑了这个问题:WhatstheoverheadofcreatingaL
我们有很多类代码,其中有一些样板,如下所示:privatestaticLoggerlogger=null;privatestaticLoggergetLogger(){if(logger==null){logger=Logger.getLogger(MyClass.class);}returnlogger;}这个想法是类可以将调试内容记录到记录器中。需要记录某些内容的第一个代码调用getLogger()并使记录器存在。这个模式有几点我不喜欢。首先,单例getLogger()未同步并同步它,而正确会无缘无故地给每个后续调用带来负担。我真的很想把它浓缩成这样:privatestaticfi
当访问来自特定包的类的方法时,我无法让我的日志记录方面记录信息。换句话说,发生“无”日志记录。我什至绝望并添加了System.out.println语句,但没有运气。我所有的类都位于org.my.package包下,即org.my.package.controller、org.my.package。型号等这是我的应用程序类:packageorg.my.package;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.EnableAutoConfigu
当访问来自特定包的类的方法时,我无法让我的日志记录方面记录信息。换句话说,发生“无”日志记录。我什至绝望并添加了System.out.println语句,但没有运气。我所有的类都位于org.my.package包下,即org.my.package.controller、org.my.package。型号等这是我的应用程序类:packageorg.my.package;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.EnableAutoConfigu
我正在使用带有spring框架的iBatis。我想记录iBatis在我说类似时执行的sqlEmployeee=(Employee)getSqlMapClientTemplate().queryForObject("emp_sql",emp);以上行将在我拥有的ibatissql文件中查找“emp_sql”id。然后运行与“emp_sql”对应的查询。我想记录这个查询。我有以下log4jxml属性文件。我仍然无法获取ibatis执行的sql。是不是配置有问题?我应该说我必须使用p6spy还是别的什么?或者我可以在log4j配置中做些什么来获取iBatissql日志?
我正在使用带有spring框架的iBatis。我想记录iBatis在我说类似时执行的sqlEmployeee=(Employee)getSqlMapClientTemplate().queryForObject("emp_sql",emp);以上行将在我拥有的ibatissql文件中查找“emp_sql”id。然后运行与“emp_sql”对应的查询。我想记录这个查询。我有以下log4jxml属性文件。我仍然无法获取ibatis执行的sql。是不是配置有问题?我应该说我必须使用p6spy还是别的什么?或者我可以在log4j配置中做些什么来获取iBatissql日志?
我正在使用org.slf4j.Logger来记录输出。输出将用于控制台。如何将日志记录记录到日志文件中?privatestaticfinalLoggerLOG=LoggerFactory.getLogger(ClassName.class);LOG.info("Loggingoutputtoconsole");我没有使用log4j.properties文件。我假设我需要一个。我添加了以下log4j.properties文件并将其放置在我的eclipse项目的不同部分。#Definethefileappenderlog4j.appender.FileAppender=org.apache
我正在使用带有aspect-j注释支持的spring,以允许@Loggable注释。这允许根据配置自动记录类。我想知道是否可以以某种方式使用此注释将slf4jLogger变量公开到类中以供直接使用,这样我就不必做以下事情:Loggerlogger=LoggerFactory.getLogger(MyClass.class);如果上面由于注释而隐式可用,那就太好了,我可以在没有声明的情况下继续执行logger.debug("...");。我不确定这是否可能。 最佳答案 您可以使用BeanPostProcessor接口(interfac
我正在使用带有aspect-j注释支持的spring,以允许@Loggable注释。这允许根据配置自动记录类。我想知道是否可以以某种方式使用此注释将slf4jLogger变量公开到类中以供直接使用,这样我就不必做以下事情:Loggerlogger=LoggerFactory.getLogger(MyClass.class);如果上面由于注释而隐式可用,那就太好了,我可以在没有声明的情况下继续执行logger.debug("...");。我不确定这是否可能。 最佳答案 您可以使用BeanPostProcessor接口(interfac
我已经按照github中的安装说明在Windows7中安装了Hadoop2.8.0。,我正确设置了JAVA_HOME和HADOOP_HOME环境变量,并配置了core-site.xml、mapred-site.xml、hdfs-site.xml、yarn-site.xml、hadoop-env.cmd文件按照文档要求,我的路径是enterimagedescriptionhere但是在完成所有这些之后,运行hdfsnamenode–format命令后,我在控制台中收到以下错误系统找不到指定的路径。错误:JAVA_HOME设置不正确。请更新C:\Hadoop-2.8.0\hadoop-2.