WebLogic 12.2.1'de çalışan JAX-RS web servisim var.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Properties>
<Property name="log-path">E:/MLM/MLMDomain/servers/MLMAppSrv01/logs</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile" fileName="${log-path}/MLMServices.log" filePattern="${log-path}/MLMServices-%d{yyyy-MM-dd}-%i.log" >
....
Sonraki yerine yönetilen sunucu adı hardcoding "MLMAppSrv01": Web Servis girişinde için log4j2 kullanır ve log4j2.xml belirtilen burada gösterildiği gibi şimdiye kadar, günlük dosyasına oturum açabilir
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Properties>
<Property name="log-path">E:/MLM/MLMDomain/servers/${weblogic.Name}/logs</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile" fileName="${log-path}/MLMServices.log" filePattern="${log-path}/MLMServices-%d{yyyy-MM-dd}-%i.log" >
....
Şimdi yerine gerçek WebLogic sunucu adı, basitçe log4j2 ile $ {weblogic.Name} değiştirme,: burada gösterildiği gibi, ben "$ {weblogic.Name}" kullanarak bir özellik ikamesi olarak değiştirdim gerçek bir alt klasör adı olarak $ {weblogic.Name} işlem gördü, bu nedenle günlük dosyamın şu klasörde oluşturulmasını sağladım:
E:/MLM/MLMDomain/servers/${weblogic.Name}/logs
Web hizmeti kodlarında, System.getProperty ("weblogic.Name") kullandığımda, uygulamanın çalıştığı "MLMAppSrv01" olan gerçek yönetilen sunucuyu alabiliyordum. Dolayısıyla, "weblogic.Name" in gerçekten JVM'de tanımlandığını gösterir. Ben -Dweblogic.Name = MLMAppSrv01 ileterek tek başına bir programda değiştirilmiş log4j2.xml dosyasını kullandığınızda
, iyi çalışıyor ve dosya oluşturulur: ne olabilir
E:/MLM/MLMDomain/servers/MLMAppSrv01/logs
log4j2.xml dosyasındaki $ {}, WebLogic'te çalışmıyor mu?
Şimdiden teşekkürler.
Çok teşekkür ederim! Tek başına bir program için neden hala "sys:" öneki ile veya olmadan çalışıyor diye şaşırıyorum. Ama WebLogic için kesinlikle "sys:" önekine ihtiyacım var. – user3573403