我在记录调用类的类名时遇到问题。我在logback中编写了日志实用程序类。出于性能原因,我使用单例模式创建了记录器实用程序。但是,当我从其他类调用日志语句时,我会打印实用工具的类名,而不是调用类。
private static LogUtil logutil =null;
public static LogUtil getInstance(){
if(logutil==null){
logutil = new LogUtil();
}
return logutil;
}
protected static final Logger LOGGER = (Logger)LoggerFactory.getLogger("MyModule");
public void info(String Message){
if(LOGGER.isInfoEnabled()){
LOGGER.info(Message);
}
}
测试课就像
public class LogUtilTest {
public static void testforlogging(){
logutil.info(“Im Logging this message”);
}
}
我得到的输出如下打印而不是LogUtilTest,我需要帮助记录我的调用类名
2014-04-14 16:47:21信息[main]MyModule[LogUtil.info:42]类名[com.commonutil.logging.LogUtil]-方法[testforlog]-No of Person's data-100001
您可以使用线程访问当前调用堆栈。currentThread()。getStackTrace()。它返回一个堆栈跟踪元素数组。第一项始终表示getStackTrace()
。第二个是调用它的方法,第三个是您想要的方法
Thread.currentThread().getStackTrace()[2].getClassName()
返回调用方法的类的类名。
当我在Wildfly10上部署war时,Log4j日志不会打印。1.0.最终的不过,它与Tomcat配合得很好。 我在网上发现Wildfly使用log4j,所以我在jboss部署结构中排除了log4j。下面的xml避免了依赖冲突,但没有运气。 下面是我log4.properties档案 下面是我的pom。xml依赖关系 下面是我部署战争时得到的错误日志。 我正在尝试运行独立的完整ha。xml
当我运行这段代码时,没有任何东西被打印到控制台。我应该如何使用logp?
问题内容: 我的应用程序有一个自制的日志记录类,我将在后台使用log4j进行迁移。但是,由于我正在使用homebrew类将应用程序的其余日志记录语句传递给log4j,因此输出语句被记录为来自包装类而不是源类。 除了为每个log语句创建新的org.apache.log4j.Logger实例之外,是否有办法确保显示“正确的”源?我也尝试过使用Logger.log(String callerFQCN,P
环境:Java、Selenium webdriver、Maven、testNG、Log4J、Eclipse XML 我添加了log4j。src/main/resources下的属性。 在基本测试中。java,我在导入log4j后添加了两行。 日志信息(“方法设置”); 日志信息(“方法拆除”); 我的目标是能够使用日志。了解整个项目。在此之前,我只想通过在basetest类中导入log4j log
SLF4J 提供了 MDC (Mapped Diagnostic Contexts)功能,可以支持用户定义和修改日志的输出格式以及内容。本文将介绍 SOFATracer 集成的 SLF4J MDC功能,方便用户在只简单修改日志配置文件的前提下输出当前 SOFATracer 上下文 TraceId 以及 SpanId 。 使用前提 为了在应用中的日志正确打印 TraceId 和 SpanId 参数,
根据spring boot文档(最新版本),它提到spring boot在内部使用logback。 我使用了log4j启动器,如下所述,不包括logback 例如,如果下面的命令在调试模式下运行(假设sboot1是我的uber jar) 我没有得到调试日志,这些日志是之前使用logback生成的,logback显示了“排除”和“包含”以及其他必要的信息。 当使用其他日志框架(如log4j)时,如何