我正在构建一个应用程序(Spring Boot 1.4.2),我想为管理员提供启用syslog的选项,但我想避免他/她必须手动编辑任何配置文件 - 在这种情况下{{1 }}。
因此,我试图了解如何使用logstash-spring.xml
文件作为基线(例如,定义基于文件的日志选项,级别等 - 我不希望管理员更改的设置),并在此基础上提供功能在运行时,管理员可以添加或更改syslog appender。
我列出了我认为的要求:
另外我不知道我是否可以简单地将logback-spring.xml
视为常规XML对象,并使用例如JAXB来操作该文件并使用Logback的autoscan功能来简单地读取新的更改?
我一直在定义logback-spring.xml
Logger
:
@Bean
Spring Boot正在接受这一点,但这让我看到了上面列出的2个项目,我不知道我将如何或在哪里存储管理员提供的系统日志服务器信息。
更新
我编写了以下符合上述3个要求的以下内容,但我会感谢任何有关实际实现的反馈,因为我对Spring和Java都是新手。
GitHub repository with implementation - spring-boot-logback-syslog
答案 0 :(得分:1)
我设法使用我在指定应用程序中my Github repo发布的示例,并根据该回购中的实现回答我自己的问题。 有关如何实施的详细信息,请参阅自述文件。
更新:作为Spring Boot 1.5.1的一部分,有一个可在运行期间设置日志记录级别的执行器:Production Ready Loggers
不一定100%与此主题相关,但这是我实施的要求之一以及更改系统日志相关设置。