我们希望使用SLF4J,但我们发现的一件事是你不能将关卡指定为参数,即
Logger.log(Level.INFO, "messsage");
Run Code Online (Sandbox Code Playgroud)
你必须这样做
logger.info("message");
Run Code Online (Sandbox Code Playgroud)
这可以防止能够通过方法传递所有内容,因此您可以将其他属性添加到类中的所有日志消息.
public class Test
{
public Test(SomeObj obj)
{
log(Level.INFO, "message");
}
public void anotherMethod()
{
log(Level.DEBUG, "another message");
}
private void log(Level level, String message)
{
logger.log(level, message + obj.someString());
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用SLF4j实现这一目标?
我正在创建一个将作为jar包含的库,因此它不包含main方法.我想知道在这种情况下引导Guice的最佳做法是什么.我有一个顶级单身人士.
public class TestManager
{
private TestManager()
{
}
public static TestManager getInstance()
{
// construct and return singleton
}
public void createSomeObjects()
{
}
}
Run Code Online (Sandbox Code Playgroud)
我应该在哪里引导Guice?我想在构造函数中我可以调用Guice.createInjector(new Module()); 但它不会注入createSomeObjects()中创建的任何对象.
当你没有main方法()时,有没有一种常见的方法可以做到这一点?
干杯.