FileHandler biraz kafa karıştırıcı desen özelliği bir model çalışma zamanında değiştirilir aşağıdaki özel bileşenleri içeren bir dize oluşan bu
handlers=java.util.logging.FileHandler
# Default global logging level.
.level=INFO
#logging level for the foo.bar package
foo.bar.level=CONFIG
java.util.logging.FileHandler.pattern=%h/java%u.log
kullanılabilir
:
"/" yerel yol adı ayırıcı
"% t" sistem geçici dizini
"% h" "user.home" sistem pervane değeri erty
"% g" döndürülmüş günlükleri
"% u" ayırt etmek nesil numarası benzersiz bir sayı çözmek için çatışmalar
"%%" Tek bir yüzde işareti çevirir "%"
Eğer birden fazla dosya için giriş yapmak istiyorsanız
o zaman birden adında kaydediciler
#FileHandler for file1
java.util.logging.FileHandler.pattern = logging_property_test.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
#FileHandler for file2
logging.FileHandler2.pattern = logging_property_test2.log
logging.FileHandler2.limit = 50000
FileHandler.count = 1
logging.FileHandler2.formatter = java.util.logging.SimpleFormatter
#setting handler for logger1
logging.PropertyTestingLogger.handlers=java.util.logging.FileHandler
#setting handler for logger2
logging.PropertyTestingLogger2.handlers=logging.FileHandler2
için ayarlanmış birden işleyicileri tarafından yapabiliriz gördüğünüz gibi hile olmasıdır maalesef Java yaratıcıları bekleniyor değildi kimse birden fazla dosya oturum: Özel bir sınıftır ve hiçbir şey yapmaz ama FileHandler
package logging;
import java.io.IOException;
import java.util.logging.FileHandler;
public class FileHandler2 extends FileHandler {
public FileHandler2() throws IOException, SecurityException {
super();
}
}
Arkaplan uzanan bir logging.FileHandler2. o DEĞİL, java.util.logging ile
public class FileHandler extends StreamHandler {
private String pattern;
private void configure() {
String cname = getClass().getName();
pattern = manager.getStringProperty(cname + ".pattern", "%h/java%u.log");
Ancak, bu kalıpları yalnızca adlandırılmış günlükleyicim (org.imixs.workflow) için etkileneceğini belirtmek için nasıl kullanabilirim? Genel sunucu iletilerini uygulamaya özel günlük dosyasına yönlendirmek istemiyorum. – Ralph
Gönderiyi buna göre güncelledim. Örnekte varsayılan günlük seviyesi bilgi olarak ayarlanmıştır, ancak foo.bar paketi –
'u konfigüre eder - ama sorum şu: 'foo.bar' logger'ı için ayrı bir çıktı dosyası ayarlamak mümkündür. Her paket için ayrı bir günlük seviyesi belirtebileceğinizi biliyorum. Ama ayrı günlük dosyaları nasıl tanımlanır? – Ralph