问题描述
这可能是重复的,但这里是运行失败...
<Configuration status="debug" name="myproject" packages="" monitorInterval="60">
<Properties>
<Property name="app_name">myproject</Property>
<Property name="logsdir">${env.CATALINA_HOME}/logs/${app_name}</Property>
<Property name="myEnv">${env.ENV}</Property>
<Property name="jvmEnv">${jvmrunargs:env}</Property>
<Property name="springEnv">${spring:env}</Property>
<Property name="sysEnv">${sys:env}</Property>
<Property name="filename">${logsdir}/${app_name}.log</Property>
</Properties>
<Appenders>
<Gelf name="gelf" host="tcp:graylog${myEnv}" port="12201" version="1.1" extractStackTrace="true"
filterStackTrace="true" maximumMessageSize="4092"
originHost="%host{fqdn}" additionalFieldTypes="app_name=String">
<Field name="timestamp" pattern="%d{yyyy-MM-dd HH:mm:ss.SSS}" />
<Field name="level" pattern="INFO" />
<Field name="app_name" pattern="${app_name}"/>
</Gelf>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="gelf" />
</Root>
</Loggers>
</Configuration>
以上是我的 log4j 文件的简化版本。它的其他一切都在起作用。 属性 myEnv 根据系统环境变量正确评估为“Dev” 但是,如果您在同一个盒子上运行了多个此实例,则效果不佳,因此我一直在尝试使用 spring application.properties 文件或 java -Denv=Dev 变量将其传入。>
在我上面的配置中 jvmEnv、springEnv、sysEnv 都无法评估任何内容。它们只显示 ${jvmrunargs:env}
的文字文本这都是在控制台春季启动过程中看到的。 其他信息: log4j2 版本 2.10.0 Maven 构建
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>Cairo-RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>biz.paluch.logging</groupId>
<artifactId>logstash-gelf</artifactId>
<version>${logstash.version}</version>
</dependency>
总结问题:
- 如何在 log4j2 中使用 java 的 D 参数或 Spring 的应用程序属性?
- 我的语法问题在哪里?
- 有没有我没有考虑过的更简单的事情?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)