2017-04-04 11 views
0

私はAzure Appサービスをjavaに持っています。私はその場所にlog4jログメカニズムを持っています。私はHOSTNAME_servicename.logとしてログファイルを作成する必要があります コードをTomcatにローカルに配置すると、必要なファイル名でファイルが作成されますが、Azureでは_servicename.logが作成されます。log4jファイル名azure Webサービスのホスト名

クラス:

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> 

展開ログが下に書かれています:

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 [[email protected]2e47] 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 

上記のログが示すとおり、WebApplicationContext:initialization completedの後に正しく与えているサイト名を記録しました。

+0

あなたの問題は解決したようですね。そうでない場合は、質問を更新してください。 –

+0

いいえまだ解決されていません – user3256823

答えて

0

参考として、KuduのwikiページAzure runtime environmentには、参照できるJavaコードSystem.getenv("<azure webapp env name>")を使用して値を取得できる環境変数がいくつか記載されています。またはAdding environment variablesを参照してカスタム変数をapplicationHost.xdtに追加するか、AzureポータルのApplication settingsタブに追加するだけです。


更新: あなたはAzureのアプリケーションサービスの各インスタンスのための環境変数を設定することができ、下記を参照してください。

enter image description here

参考として、hereを参照してください。

+0

こんにちは、2つの異なるKudusを2つのインスタンスにアクセスするにはどうすればいいですか? – user3256823

+0

@ user3256823上記の更新内容をご覧ください。 –

+0

こんにちはPeter、私はapp設定も使ってみましたが、まだlog4j.propertiesファイルの値が得られていません。私はロギングがjavaがSystem.getenv()を実行する前に初期化されていると思う – user3256823

関連する問題