鉴于 logback.xml 中的以下根:
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
Run Code Online (Sandbox Code Playgroud)
定义以下日志记录规则:
<logger name="com.myproject.mypackage.MyClass" level="DEBUG">
<appender-ref ref="STDOUT" />
</logger>
Run Code Online (Sandbox Code Playgroud)
myclass 中的日志级别不会是 DEBUG,因为根级别是 info。但我只想查看这个特定类中的调试日志。这是否可以在不更改根级别的情况下实现(这会导致应用程序从各个地方吐出调试日志)?
编辑:我也试过这个:
<logger name="com.myproject" level="INFO"/>
<logger name="com.myproject.mypackage.MyClass" level="DEBUG">
<root level="DEBUG">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
Run Code Online (Sandbox Code Playgroud)
所以我们的想法是将根设置为调试,所以一切都是调试,但将“com.myproject”下的所有内容都设置为信息,因此日志级别确实是信息,但将 MyClass 设置为调试。它没有用:(
我正在尝试创建一些通用代码以简化正则表达式的使用,并考虑如何实现OR函数.
标题非常准确(ex1,ex2,ex3是任何正则表达式).不考虑分组,有什么区别:
"(ex1)|(ex2)|(ex3)"
Run Code Online (Sandbox Code Playgroud)
和
"[(ex1)(ex2)(ex3)]"
Run Code Online (Sandbox Code Playgroud)
这两者都应该是命名的正则表达式之间的关系,我可能会遗漏一些东西.一个人比另一个人更有效率吗?
我的问题:我想在两个枚举之间指定一对一的连接.基本上:
enum MyEnum{
ENUM_VALUE_1,
ENUM_VALUE_2,
ENUM_VALUE_3,
}
enum MyOtherEnum{
OTHER_ENUM_VALUE_1(MyEnum.ENUM_VALUE_3),
OTHER_ENUM_VALUE_2(MyEnum.ENUM_VALUE_1),
OTHER_ENUM_VALUE_3,
OTHER_ENUM_VALUE_4(MyEnum.ENUM_VALUE_2),
private MyEnum pair;
MyOtherEnum(MyEnum pair){
this.pair=pair;
}
}
Run Code Online (Sandbox Code Playgroud)
鉴于此代码,确保两个实例MyOtherEnum没有相同MyEnum对的最佳方法是什么?我想出了一些解决方案,但似乎都不好.一种解决方案是在构造函数中抛出异常,但我不确定这是否可行.另一种解决方案是一种特殊的getter方法,但可以通过简单的MyOtherEnum.values()调用轻松绕过它.
鉴于以下课程:
...
Class<? extends Enum<?>> enumType;
public MyClass(Class<? extends Enum<?>> enumType) {
super();
this.enumType=enumType;
...
Run Code Online (Sandbox Code Playgroud)
如何定义返回"enumType"类的枚举的方法?
我需要这样的东西:
public enumType getValue(){
...
}
Run Code Online (Sandbox Code Playgroud)
,但这不起作用..