- Use sl4fj as a backend to org.libresonic.Logger - Output the same logs to libresonic.log as the console - Use spring-boot logging constructs - Turn down logging to error for non-libresonic classes info for libresonic classes and liquibase (perhaps change this in the future, but might be helpful for folks migrating their databases). Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>master
							parent
							
								
									a12bdd6e0a
								
							
						
					
					
						commit
						07ff71df0c
					
				| @ -0,0 +1,30 @@ | ||||
| package org.libresonic.player.spring; | ||||
| 
 | ||||
| import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; | ||||
| import org.springframework.boot.logging.LogFile; | ||||
| import org.springframework.boot.logging.LoggingApplicationListener; | ||||
| import org.springframework.context.ApplicationListener; | ||||
| import org.springframework.core.Ordered; | ||||
| import org.springframework.core.env.MapPropertySource; | ||||
| import org.springframework.core.env.PropertySource; | ||||
| 
 | ||||
| import java.util.Collections; | ||||
| 
 | ||||
| import static org.libresonic.player.service.SettingsService.getLogFile; | ||||
| 
 | ||||
| 
 | ||||
| public class LoggingFileOverrideListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent>, Ordered { | ||||
| 
 | ||||
|     @Override | ||||
|     public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { | ||||
|         PropertySource ps = new MapPropertySource("LogFileLocationPS", | ||||
|                 Collections.singletonMap(LogFile.FILE_PROPERTY, getLogFile().getAbsolutePath())); | ||||
|         event.getEnvironment().getPropertySources().addLast(ps); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public int getOrder() { | ||||
|         return LoggingApplicationListener.DEFAULT_ORDER - 1; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1 @@ | ||||
| org.springframework.context.ApplicationListener=org.libresonic.player.spring.LoggingFileOverrideListener | ||||
| @ -1,4 +1,8 @@ | ||||
| spring.mvc.view.prefix: /WEB-INF/jsp/ | ||||
| spring.mvc.view.suffix: .jsp | ||||
| server.error.includeStacktrace: ALWAYS | ||||
| logging.level.org.springframework.web=INFO | ||||
| logging.level.root=WARN | ||||
| logging.level.org.libresonic=INFO | ||||
| logging.level.liquibase=INFO | ||||
| logging.pattern.console=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p){green} %clr(---){faint} %clr(%-40.40logger{32}){blue} %clr(:){faint} %m%n%wEx | ||||
| logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} %5p --- %-40.40logger{32} : %m%n%wEx | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| ${AnsiColor.BRIGHT_BLUE}  _      _ _              ${AnsiColor.BRIGHT_BLACK}                 _       ______ | ||||
| ${AnsiColor.BRIGHT_BLUE} | |    (_) |             ${AnsiColor.BRIGHT_BLACK}                (_)      \ \ \ \ | ||||
| ${AnsiColor.BRIGHT_BLUE} | |     _| |__  _ __ ___ ${AnsiColor.BRIGHT_BLACK} ___  ___  _ __  _  ___   | | | | | ||||
| ${AnsiColor.BRIGHT_BLUE} | |    | | '_ \| '__/ _ \${AnsiColor.BRIGHT_BLACK}/ __|/ _ \| '_ \| |/ __|  | | | | | ||||
| ${AnsiColor.BRIGHT_BLUE} | |____| | |_) | | |  __/${AnsiColor.BRIGHT_BLACK}\__ \ (_) | | | | | (__   | | | | | ||||
| ${AnsiColor.BRIGHT_BLUE} |______|_|_.__/|_|  \___|${AnsiColor.BRIGHT_BLACK}|___/\___/|_| |_|_|\___|  | | | | | ||||
| ${AnsiColor.BRIGHT_BLUE}                          ${AnsiColor.BRIGHT_BLACK}                         /_/_/_/ | ||||
| ${AnsiColor.BRIGHT_BLUE}                          ${AnsiColor.BRIGHT_BLACK}      ${application.version} | ||||
| ${AnsiColor.BLUE}  _      _ _              ${AnsiColor.BRIGHT_BLACK}                 _       ______ | ||||
| ${AnsiColor.BLUE} | |    (_) |             ${AnsiColor.BRIGHT_BLACK}                (_)      \ \ \ \ | ||||
| ${AnsiColor.BLUE} | |     _| |__  _ __ ___ ${AnsiColor.BRIGHT_BLACK} ___  ___  _ __  _  ___   | | | | | ||||
| ${AnsiColor.BLUE} | |    | | '_ \| '__/ _ \${AnsiColor.BRIGHT_BLACK}/ __|/ _ \| '_ \| |/ __|  | | | | | ||||
| ${AnsiColor.BLUE} | |____| | |_) | | |  __/${AnsiColor.BRIGHT_BLACK}\__ \ (_) | | | | | (__   | | | | | ||||
| ${AnsiColor.BLUE} |______|_|_.__/|_|  \___|${AnsiColor.BRIGHT_BLACK}|___/\___/|_| |_|_|\___|  | | | | | ||||
| ${AnsiColor.BLUE}                          ${AnsiColor.BRIGHT_BLACK}                         /_/_/_/ | ||||
| ${AnsiColor.BLUE}                          ${AnsiColor.BRIGHT_BLACK}      ${application.version} | ||||
|  | ||||
					Loading…
					
					
				
		Reference in new issue