0
A
回答
0
我的解决方案,似乎工作。
写一个扩展的Log4j系统的自定义类
公共类myLogger扩展记录仪 { ...东西...
}
的 '东西',你需要实现(或至少我做过)
某种构造函数 public myLogger(String name)
..在每个班级,在那里你想/需要包括myLogger的静态成员
private static final myLogger errorLog = new myLogger("nameOfClassOrWhateverNameYouFancy")
如果使用在所有类,他们将登录到同一记录实例相同的名称(这个你可能已经知道)
回到你myLogger类,你需要实现设置日志级别(这是我做的一个方法...)
/**
*
* The add(int i, String s) method
* @param s the message string
*
* @param i used in the switch to create the required level of debug
* @param s the message to send
*
* use this method to create a log message of any required level
* The levels are as follows:
* 1 debug - used during production
* 2 info - may be used for messages to user
* 3 warn - warnings for requesting users re-enter information (data type checking etc)
* 4 error - programmatic/user error may result in unexpected output
* 5 fatal - severe error (comms error) the system will terminate, cleanly if possible, current state will be written to file
*
* Prior to all this however the method determines the calling class of itself
*
*/
public void add(int i, String s)
{
switch (i)
{
case 1: log.debug(s);break;
case 2: log.info(s);break;
case 3: log.warn(s);break;
case 4: log.error(s);break;
case 5: log.fatal(s);break;
}
}
现在,如果你想一些具体的登录电子“奇怪的st你有2个选项,正如我前面所说,你可以创建一个静态成员到指定的记录器,或者你可以添加静态成员到你的myLogger类(这是我做到的)。
然后为这些静态成员,你可能想要一个独特
set[nameOfLogger](int i, string s)
基本上具有相同类型的结构如上述方法。
现在,如果你想从一个类调用它调用
myLogger.set[nameOfLogger](1, "s")
,你走。
然后,您需要添加关于日志级别(DEBUG,WARN等)以及将消息发送到(控制台,文件等)到您的log4j.properties(正如我使用的)或log4j.xml中的信息。
请记住确保关于设置静态命名记录器的几行发生在rootLogger的实例之后,这让我很长一段时间了!
我已经包括了我所认为的相当广泛的指导,因为我已经打了很长时间,并且只有今天才能完成最终的工作!
我现在是一个快乐的兔子....直到我打破别的东西;)
大卫
对不起刚才注意到你不想使用log4j.properties文件。特别是什么原因?
如果不只是
import org.apache.log4j.Logger;
创建一个记录实例
private Logger jUnitTestingLogger;
然后设置使用各种方法调用(我特别想附加的appender)的输出,我从没这样做,所以不知道如何!
有趣的是,在你的实例中有一个assertLog(布尔断言,字符串消息)方法可能对你有好处。
相关问题
- 1. TestNG,Junit和log4j
- 2. jUnit + jMock和log4j
- 3. 配置ELK + log4j
- 4. 配置log4j grails
- 5. log4j appender配置
- 6. Log4j配置
- 7. Grails log4j配置
- 8. log4j配置
- 9. 配置log4j
- 10. log4j的配置
- 11. jboss log4j配置
- 12. 在哪里可以在JUnit测试类中配置log4j?
- 13. Log4J与JUnit测试
- 14. log4j配置问题
- 15. 如何配置log4j
- 16. JBoss 7.1.1:log4j配置
- 17. log4j配置加载
- 18. LOG4j - 配置方法
- 19. hadoop flume log4j配置
- 20. 配置log4j文件
- 21. Log4J动态配置
- 22. Log4j 2 JSON配置
- 23. 故障配置log4j
- 24. 将与JUL相关的log4j 1.2配置转换为log4j 2配置
- 25. 如何为所有类配置log4j fileappender?
- 26. Log4J的配置为Spring JTA事务
- 27. 为特定用户配置log4j
- 28. 如何将Configslurper配置转换为Log4j?
- 29. log4j配置为外部罐子
- 30. OpenEJB - 为JUnit配置数据源
你的意思是什么log4j属性文件...它是log4j.xml? –
是的。我想通过代码配置log4j。 –
为什么你不想使用log4j.xml ....是否有任何具体要求 –