Soru Bir kodlayıcının / desenin, Logback'te birden fazla Appenders arasında paylaşılması


Bu, LogBack dünyasına ilk adımı atıyor, ancak bir kodlayıcı / model tanımlamak ve birden fazla ekte paylaştığım bir yerde bulamadım. Bunu nasıl başaracağınız hakkında bir fikrin var mı?


19
2018-04-25 14:44


Menşei




Cevaplar:


Kalıplar yeniden kullanılabilir değişken ikamesi.

<configuration>

    <property name="defaultPattern"
        value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${defaultPattern}</pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

35
2017-09-10 08:04



Değişken ikameye başvurmak için +1. - Mohammad Banisaeid


İlgilenen herkes için bu küçük mücevheri buldum. 4. Bölüm LogBack'in belgelerinin: "Her bir düzen / kodlayıcı, sahip olan bir eklenti olarak adlandırılan bir ve yalnızca bir ekleyici ile ilişkilidir." Eklentiler için tek bir Encoder örneğini paylaşmanın mümkün olmadığını düşündüğüm.


15
2018-04-25 16:09



Programatik olarak ekleyiciler, kodlayıcılar ve düzenler oluşturdum. Yukarıdakilerin doğru olduğunu düşünüyorum: Enkoderleri ekleyiciler arasında paylaşmaya çalıştığımda, sadece bir ekleyicinin aktif olmasını beklerdim (muhtemelen kodlayıcının son eklediğime eklenmesiyle sonuçlandı). - Stuart Rossiter
Ayrıca bu, Yapılandırma bölümünden: "Her bir ekleyicinin kendi kodlayıcısına sahip olduğunu unutmayın. Kodlayıcılar genellikle birden çok ekleyici tarafından paylaşılmak üzere tasarlanmamıştır. Aynı şey, düzenler için de geçerlidir. Bu nedenle, günlüğe kaydetme yapılandırma dosyaları, paylaşım için herhangi bir sözdizimsel araç sağlamaz. kodlayıcılar veya düzenler. " - Stuart Rossiter