我在JBoss AS7和日志记录方面有点挣扎.尽管我的问题很普遍,但我在网上找不到任何相关内容.
默认日志看起来像这样:
11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - I/O exception (java.net.SocketException) caught when processing request: Connection reset
11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - Retrying request
Run Code Online (Sandbox Code Playgroud)
注意[stdout],那些由某些库写入并由JBoss拾取并写入日志文件的日志库写入stout的行.这就是我想要解决的问题.
我想必须有一种方法可以让一个适配器告诉log4j(或任何其他日志框架)登录到jboss日志记录子系统?
我的第一个想法是从我的项目的类路径中删除所有log4j配置.我发现在我使用的库中有一个登录到stdout.但这并没有解决任何问题.
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly.
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Run Code Online (Sandbox Code Playgroud)
没有配置appender时的常见错误消息.至少我可以确定类路径中没有配置了.
JBoss AS文档甚至没有提到这种情况,当我无法获得正确的日志记录时,我应该如何使用第三方库?
我真的希望有人可以帮助我,任何提示都表示赞赏!
马拉克斯
假设我使用BEM和SCSS为通用列表组件提供以下CSS:
.list {
&__item {
&:not(:last-child) {
margin-right: .3em;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想添加一个可以使列表垂直的修饰符,如下所示:
.list--vertical {
display: flex;
flex-direction: column;
}
Run Code Online (Sandbox Code Playgroud)
当我考虑list__item元素的余量时,我的问题出现了.对于垂直列表,我希望我的边距位于底部,而不是每个项目的右边.如果我正确理解BEM,我无法根据列表的修饰符修改list__item的样式,这是正确的吗?
更确切地说,这就是我想要做的:
.list--vertical {
display: flex;
flex-direction: column;
.list__item {
&:not(:last-child) {
margin-bottom: .3em;
margin-right: 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用BEM处理此问题的可接受方法是什么?list__item的另一个修饰符处理边距?另一块完全用于垂直列表?
我只是想知道一些库如何检测它们运行在哪个线程并"绑定"某些东西......例如log4j的映射诊断上下文(MDC)或来自Mozilla Rhino的Context.enter().我怎么能这样做,以防万一我偶然发现我需要这个的情况.;-)
祝你今天愉快!
这个问题可能看起来很简单,但我还没有找到答案,所以我问堆栈溢出社区.正如标题所示,我有一个带有几个getXXX()方法的类,其中一些方法可能返回null.这是记录在案的,这个类的用户应该知道这个事实.
为了简化这个类的使用,我有想法添加一些方便的hasXXX()方法,指示是否设置了特定的字段.首先,这似乎是一个好主意......但是线程安全会浮现在脑海中.
由于此类的实例可能跨线程共享,因此属性的值可能会更改.我们都知道check-then-act只有在我们知道调用check-method之后状态不会改变时才有可能,即使我们在执行check-then-act之前被打断了.
我想到了以下解决方案:
我不认为这是一个罕见的案例,一些SO成员可能在此之前发现了这个问题,并找到了解决方案......
Foobaerchen
我有一个存储有关特定实例的信息的对象。为此,我想使用 a Map,但因为键不是按引用(它们不是,对吧?),而是作为getHashCode方法提供的散列。为了更好地理解:
import collection.mutable._
import java.util.Random
object Foo {
var myMap = HashMap[AnyRef, Int]()
def doSomething(ar: AnyRef): Int = {
myMap.get(ar) match {
case Some(x) => x
case None => {
myMap += ar -> new Random().nextInt()
doSomething(ar)
}
}
}
}
object Main {
def main(args: Array[String]) {
case class ExampleClass(x: String);
val o1 = ExampleClass("test1")
val o2 = ExampleClass("test1")
println(o2 == o1) // true
println(o2 eq o1) // false
// I want the following …Run Code Online (Sandbox Code Playgroud)