Nasıl bir bahar çizme uygulamasında programlı giriş yapılandırabilirsiniz?Bahar Boot programlı günlüğü yapılandırma
Bir xml veya özellikler dosyası kullanmak, gereksinimlerim için yeterince esnek değil.
Güncelleme: Böyle bir şey başarmak istiyorum:
@Value("${logging.level.root}")
private String loggingLevelRoot;
@Value("${logging.level.myApp}")
private String loggingLevelMyApp;
@Value("${logging.file}")
private boolean fileAppenderEnabled;
....
setLevel(Logger.ROOT_LOGGER_NAME, Level.toLevel(loggingLevelRoot)));
setLevel("com.myapp", Level.toLevel(loggingLevelMyApp)));
setLevel("org.springframework", Level.WARN);
setLevel("org.apache.coyote", Level.INFO);
setLevel("org.apache.catalina", Level.INFO);
setLevel("org.apache.catalina.startup.DigesterFactory", Level.ERROR);
setLevel("org.apache.catalina.util.LifecycleMBeanBase", Level.ERROR);
Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
logger.addAppender(createConsoleAppender());
if (fileAppenderEnabled) {
logger.addAppender(createFileAppender());
}
Ben çevre başına gereken:
- logging.level.root = [INFO, DEBUG, ..]
- logging.level.myApp = [INFO, DEBUG, ..]
- logging.file = [true | false]
XML, Groovy ve diğer biçimlerin çoğaltılması ile uğraşmak istemiyorum. Günün sonunda
, bu bahar JavaConfig fasulye yaptığı gibi günlük için aynı esneklik kazanılması çok yakından ilgilidir. XML veya diğer dosya formatları çok statiktir, çok fazla çoğaltma gerektirir ve uygulamanın yapılandırmasının geri kalanıyla yeterince iyi entegre olmaz.
günlüğü başka fasulye veya hizmet daha farklı yapılandırılmalıdır Neden? Hiçbir anlamı yok.
Xml kullanarak yeterince esnek olmayan nedir? Logback'i kullanırsanız, yapılandırmayı yapılandırmak için Groovy'yi kullanabilirsiniz. –
@ M.Deinum No, yapamazsınız; Spring Boot (aslında, Bence Spring Autoconfig) Groovy yapılandırmaları üzerinde durur. – chrylis
Ayrıca, farklı eklenti türleri ile, ortam başına farklı bir yapılandırmaya ihtiyacım var ... Yani, XML onu kesmiyor. –