- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的logback.xml
配置文件中有带有默认值的变量,我希望能够有选择地从我的typesafe config application.conf
文件中设置这些变量。
我正在使用一个jar部署应用程序,并且打包在可部署jar中的application.conf
文件包含默认值。我在执行时通过-Dconfig.file=foo.conf
来提供服务器特定配置文件的路径。
现在,我还可以传递-Dlog.level
和其他变量来覆盖logback.xml
中的默认值,而且我还必须在命令行上传递-Dfile.encoding=UTF-8
。我正在寻找一种能够在typesafe配置中而不是在命令行中指定这些属性的方法。感觉应该有一种方法可以做到,但是我找不到神奇的词。
logback.xml:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path:-logs/}/${log.file:-myLog.log}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 15 days' worth of history -->
<maxHistory>${log.history.days:-15}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="${log.level:-INFO}">
<appender-ref ref="FILE" />
</root>
</configuration>
akka {
log-config-on-start = false
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
}
include "/application.conf"
akka.log-config-on-start = true
log.level = WARN // this is what I'd LIKE to be able to do
java -Dfile.encoding=UTF-8 -Dconfig.file=myApp.conf -Dlog.level=WARN -jar myApp_2.10-0.1-one-jar.jar
最佳答案
我选择以编程方式配置具有typesafe配置的logback。事实证明这很容易。
def enableRemoteLogging(config: Config) = {
val ctx = LoggerFactory.getILoggerFactory.asInstanceOf[LoggerContext]
val gelf = new GelfAppender
gelf.setGraylog2ServerHost(config.getString("logging.remote.server"))
gelf.setUseLoggerName(true)
gelf.setUseThreadName(true)
gelf.setUseMarker(true)
gelf.setIncludeFullMDC(true)
gelf.setContext(ctx)
gelf.start()
LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)
.asInstanceOf[ch.qos.logback.classic.Logger]
.addAppender(gelf)
}
关于scala - 如何从Typesafe config配置系统属性或回退配置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15097967/
这是我第一次使用 Typesafe Activator。我在 Windows 7 64 中使用版本 1.0.13 我在环境属性中成功创建了一个 JAVA_HOME。导航到我的 Activator 文件
我有以下配置文件,我想从 Scala 应用 this library 使用: P11 { yes="0.0" no="1.0" } P12 { yes="0.01" n
我正在尝试运行 Typesafe 激活器的 UI。当我运行它时,它表现得好像正在成功下载所有东西,但是抛出一个 java.lang.IlleagalArgumentException。我已经多次尝试运
Error: java.lang.IncompatibleClassChangeError: class com.typesafe.scalalogging.BaseLogger can not im
我在设置 sbt 时遇到了问题。我下载了一个“zip”并展开它,但是当我运行 sbt 命令时,发生了错误。 module not found: org.scala-sbt#sbt;0.13.8
我一直在Typesafe配置中使用environment variable substitution功能: foo = "foo" foo = ${?FOO} 如果没有名为FOO的环境变量,则结果为“
尝试在配置文件中使用${HOSTNAME}不起作用!根据文档,配置文件应解析文档中提到的环境变量: substitutions fall back to environment variables i
我正在使用Play Framework 1.2.3的脱机安装尝试Typesafe Activator 2.3.2。每个文档都告诉我,它在后台使用sbt来构建和运行项目。 该sbt在哪里安装?是在包含A
上下文 我想使用 Guice 自动注入(inject)配置项。我的配置框架是typesafe的config。 public class MyObject { @Configuration("val
从 Activator UI 运行主类时,我们如何指定参数? 肯定有办法做到这一点,对吧? 我使用的是最新的,1.2.10 提前致谢, 拉卡 最佳答案 据我所知,您不能使用激活器指定参数,但是您可以为
这通常是一个直接的问题,但我不完全确定如何在 Scala 中解决这个问题,因为它是类型敏感的。我有一个类,我在其中设置了到我的 MongoDB 实例的简单连接。现在在本地,我做了一个可怕的想法,即只注
我多次重新创建了相同的项目,之前曾将其从磁盘上删除过。 现在,“打开现有应用...”中填充了不存在的项目,并且Typesafe Activator向其添加了一个增量后缀,即项目名称-1,项目名称-2,
给定一个嵌套的 JSON 作为配置,例如: { app: { id: "app1" instances: 2, servers: [
我正在 Scala 中尝试从像 something.conf 这样的配置文件中获取列表与 TypeSafe . 在 something.conf我设置了参数: mylist=["AA","BB"] 在
我已经设法安装并完全搞砸了 Typesafe Activator 的安装. 有没有办法卸载该工具,以便我可以回到干净的状态并重新开始? 我在使用 JDK 1.8.0_25 的 Window 8.1 上
我目前正在开发一个基于 Gradle 的多模块 Java 项目,对于如何管理 TypeSafe 配置文件我有点困惑。这是我的项目结构。 --rootProject -- module1
我试图看看是否可以使用 Java Generics Wildcarding With Multiple Classes 中指定的泛型来实现一个可以接受两个不同的类的 Map 我试过了 public c
我已经用 Typesafe Activator 安装了 play framework(2.2),现在我想配置 Postgres 数据库。 我在各种帖子中发现 play 2.2 Build.scala
如何调用 Class.forName()什么时候结果是泛型?通常我可以使用 asSubclass() ,但这里我看到的唯一方法是强制转换,当其他所有内容都使用泛型很好地键入时,哪种方式会突出并困扰我。
如何将数组/值列表作为环境变量提供给 typesafe/lightbend 配置? application.conf default-buckets = [ 10, 30,
我是一名优秀的程序员,十分优秀!