Java 带有azure web服务主机名的log4j文件名
我有java中的Azure应用程序服务。我有log4j日志记录机制。我需要将日志文件创建为HOSTNAME\u servicename.log 当我在tomcat中本地部署代码时,它会创建具有所需文件名的文件,但在azure上它会创建_servicename.log 类别:Java 带有azure web服务主机名的log4j文件名,java,logging,log4j,hostname,azure-web-app-service,Java,Logging,Log4j,Hostname,Azure Web App Service,我有java中的Azure应用程序服务。我有log4j日志记录机制。我需要将日志文件创建为HOSTNAME\u servicename.log 当我在tomcat中本地部署代码时,它会创建具有所需文件名的文件,但在azure上它会创建_servicename.log 类别: package com.mastek.transaction.filter; import javax.servlet.ServletContextEvent; import javax.servlet.ServletCon
package com.mastek.transaction.filter;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ApplicationConfiguration implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
String siteName = System.getenv("COMPUTERNAME");
System.setProperty("COMPUTERNAME",siteName);
/** The Constant logger. */
final Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class);
logger.info("SITENAME: " + siteName);
}
}
log4j.properties文件:
# Root logger option
log4j.rootLogger=INFO, out, file
log4j.logger.com.mastek=DEBUG
# ConsoleAppender
log4j.appender.out=org.apache.log4j.ConsoleAppender
log4j.appender.out.Target=System.out
log4j.appender.out.layout=org.apache.log4j.PatternLayout
log4j.appender.out.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# RollingFileAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=../../LogFiles/${COMPUTERNAME}_transaction-rs.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
我在web.xml中添加了侦听器:
<listener>
<listener-class>com.mastek.security.filter.ApplicationConfiguration</listener-class>
</listener>
我已经记录了站点名称,该站点名称如上面的日志所示,但在WebApplicationContext:初始化完成后。作为参考,Kudu的wiki页面列出了一些环境变量,您可以通过Java代码
System.getenv引用并获取它们的值(“将一些自定义变量添加到applicationHost.xdt
,或者只需将它们添加到Azure portal的应用程序设置
选项卡中
更新:
您可以为Azure应用程序服务的每个实例设置环境变量,请参见下文
作为参考,请参阅。您似乎已经解决了问题,是吗?如果没有,请更新您的问题。没有。问题没有解决。是的,谢谢您的思考,我们如何才能访问2个实例的2个不同Kudus,以便我可以为每个实例添加2个不同的自定义环境变量。嗨,Peter,我也尝试过使用应用程序设置,是吗s仍然没有在log4j.properties文件中获取值。我认为日志记录是在java执行System.getenv()之前初始化的
2017-04-04 14:34:28 WARN i18n:68 - RESTEASY002175: The use of javax.ws.rs.core.Application is deprecated, please use javax.ws.rs.Application as a context-param instead
2017-04-04 14:34:34 INFO i18n:479 - RESTEASY002225: Deploying javax.ws.rs.core.Application: class com.mastek.security.rest.service.SwaggerConfiguration
2017-04-04 14:34:35 INFO i18n:505 - RESTEASY002220: Adding singleton resource com.mastek.security.rest.service.RegistrationRESTImpl from Application class com.mastek.sec2017-04-04 14:34:40 INFO i18n:479 - RESTEASY002225: Deploying javax.ws.rs.core.Application: class com.mastek.security.rest.service.Swagger2017-04-04 14:34:43 INFO XmlWebApplicationContext:513 - Refreshing Root WebApplicationContext: startup date [Tue Apr 04 14:34:43 GMT 2017]; root of context hierarchy
2017-04-04 14:34:45 INFO XmlBeanDefinitionReader:316 - Loading XML bean definitions from class path resource [application-context.xml]
2017-04-04 14:34:50 INFO XmlBeanDefinitionReader:316 - Loading XML bean definitions from class path resource [persistence-config.xml]
2017-04-04 14:34:58 INFO PropertySourcesPlaceholderConfigurer:172 - Loading properties file from URL [file:/sdt/configuration/services.properties]
2017-04-04 14:34:58 WARN PropertySourcesPlaceholderConfigurer:181 - Could not load properties from URL [file:/sdt/configuration/services.properties]: \sdt\configuration\servi2017-04-04 14:35:02 INFO PropertySourcesPlaceholderConfigurer:172 - Loading properties file from URL [file:/sdt/configuration/services.properties]
2017-04-04 14:35:02 WARN PropertySourcesPlaceholderConfigurer:181 - Could not load properties from URL [file:/sdt/configuration/services.properties]: \sdt\configuration\services.properties (The system cannot 2017-04-04 14:35:06 INFO DriverManagerDataSource:133 - Loaded JDBC driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
2017-04-04 14:35:09 INFO Version:66 - HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
2017-04-04 14:35:09 INFO Version:54 - HHH000412: Hibernate Core {4.3.6.Final}
2017-04-04 14:35:10 INFO Environment:239 - HHH000206: hibernate.properties not found
2017-04-04 14:35:10 INFO Environment:346 - HHH000021: Bytecode provider name : javassist
2017-04-04 14:35:22 INFO Dialect:145 - HHH000400: Using dialect: org.hibernate.dialect.SQLServerDialect
2017-04-04 14:35:48 INFO TransactionFactoryInitiator:62 - HHH000399: Using default transaction strategy (direct JDBC transactions)
2017-04-04 14:35:48 INFO ASTQueryTranslatorFactory:47 - HHH000397: Using ASTQueryTranslatorFactory
2017-04-04 14:36:07 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 69. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 79. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 81. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 102. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 102. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 108. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 101. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:08 WARN HqlSqlWalker:996 - [DEPRECATION] Encountered positional parameter near line 1, column 107. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2017-04-04 14:36:25 INFO HibernateTransactionManager:339 - Using DataSource [org.springframework.jdbc.datasource.DriverManagerDataSource@12232e47] of Hibernate SessionFactory for HibernateTransactionManager
2017-04-04 14:36:26 INFO ContextLoader:325 - Root WebApplicationContext: initialization completed in 107328 ms
2017-04-04 14:36:26 INFO ApplicationConfiguration:25 - SITENAME: RD0003FF731D3E