小编Mal*_*lax的帖子

JBoss AS 7:记录

我在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文档甚至没有提到这种情况,当我无法获得正确的日志记录时,我应该如何使用第三方库?

我真的希望有人可以帮助我,任何提示都表示赞赏!

马拉克斯

logging jboss log4j jboss7.x

5
推荐指数
1
解决办法
1万
查看次数

BEM:允许修饰的修饰符是什么?

假设我使用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的另一个修饰符处理边距?另一块完全用于垂直列表?

css bem

5
推荐指数
1
解决办法
547
查看次数

Java,将某些东西"绑定"给一个Thread

我只是想知道一些库如何检测它们运行在哪个线程并"绑定"某些东西......例如log4j的映射诊断上下文(MDC)或来自Mozilla Rhino的Context.enter().我怎么能这样做,以防万一我偶然发现我需要这个的情况.;-)

祝你今天愉快!

java multithreading

3
推荐指数
1
解决办法
1017
查看次数

最佳实践:hasXXX()方法,用于返回可能的null返回getXXX()方法

这个问题可能看起来很简单,但我还没有找到答案,所以我问堆栈溢出社区.正如标题所示,我有一个带有几个getXXX()方法的类,其中一些方法可能返回null.这是记录在案的,这个类的用户应该知道这个事实.

为了简化这个类的使用,我有想法添加一些方便的hasXXX()方法,指示是否设置了特定的字段.首先,这似乎是一个好主意......但是线程安全会浮现在脑海中.

由于此类的实例可能跨线程共享,因此属性的值可能会更改.我们都知道check-then-act只有在我们知道调用check-method之后状态不会改变时才有可能,即使我们在执行check-then-act之前被打断了.

我想到了以下解决方案:

  • 为此类用户提供一种在执行check-then-act代码时"锁定"状态更改实例的方法.
  • 删除hasXXX()方法,因为它们对于可变类是无用的.

我不认为这是一个罕见的案例,一些SO成员可能在此之前发现了这个问题,并找到了解决方案......

Foobaerchen

multithreading

3
推荐指数
2
解决办法
690
查看次数

以对象引用为键的映射?

我有一个存储有关特定实例的信息的对象。为此,我想使用 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)

scala map data-structures

3
推荐指数
1
解决办法
4435
查看次数

标签 统计

multithreading ×2

bem ×1

css ×1

data-structures ×1

java ×1

jboss ×1

jboss7.x ×1

log4j ×1

logging ×1

map ×1

scala ×1