Scala Breeze의 breeze.optimize
패키지를 사용하고 있으며 Breeze ahs가 자체 로깅 라이브러리를 구현 한 것처럼 보입니다.log4j 또는 slf4j를 사용하도록 Scala Breeze를 구성하는 방법
log4j 또는 slf4j와 같은 표준 로깅을 사용하도록 Breeze를 구성하는 방법이 있습니까? 그래서 응용 프로그램의 모든 작업과 동일한 방식으로 최적화 로깅을 구성 할 수 있습니까?
또는 로깅 메시지를 어떻게 그냥 끕니까? 그들은 기본적으로 켜져 있고 나를 위해 함수 최소화를 반복 할 때마다 로그를 남기므로 나에게 많은 로그 노이즈가 발생합니다. 그는 아래 답변 ONT 기반의 아파치 코 몬즈에 대한
는래퍼 :
import breeze.util.logging.Logger
import breeze.util.logging.Logger.Level
import org.apache.commons.logging.LogFactory
class BreezeCommonsLogger[T: ClassManifest] extends Logger {
private val log = LogFactory.getLog(classManifest[T].erasure)
def trace(f: => Any) { if (log.isTraceEnabled()) log.trace(f.toString) }
def debug(f: => Any) { if (log.isDebugEnabled()) log.debug(f.toString) }
def info(f: => Any) { if (log.isInfoEnabled()) log.info(f.toString) }
def warn(f: => Any) { if (log.isWarnEnabled()) log.warn(f.toString) }
def error(f: => Any) { if (log.isErrorEnabled()) log.error(f.toString) }
def fatal(f: => Any) { if (log.isFatalEnabled()) log.fatal(f.toString) }
def level_=(level: Level) {}
def level = Logger.NEVER
}
이 같은 사용할 수 있었다 : 최적화 클래스 인 log
멤버 변수를 얼마나
val lbfgs = new LBFGS[Mat](maxIters, 5, tolerance) {
override val log = new BreezeCommonsLogger[LBFGS[Mat]]
}
NullLogger를 사용하지 않고 동일한 접근 방식을 사용하여 다른 로그 소스에 대한 로깅을 설정하는 데 모두 효과적이었습니다. 래퍼 클래스를 포함하도록 내 질문을 편집합니다. –