Próbuję programowo skonfigurować logstash z logback w moim Spring boot projektu, aby skonfigurować go za pomocą środowiska.Konfiguracja Logstash/Logback przy użyciu konfiguracji Spring-boot
W tym celu używam prostego @Configuration fasoli (środowisko uproszczony kod, będę potem gospodarz setup/Port użyciu):
@Component
@Slf4j
public class LogstashConfiguration {
private LogstashTcpSocketAppender logstashTcpSocketAppender;
@PostConstruct
public void init() {
Logger rootLogger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
LoggerContext loggerContext = rootLogger.getLoggerContext();
//loggerContext.reset(); // shouldn't need to use that
logstashTcpSocketAppender = new LogstashTcpSocketAppender();
logstashTcpSocketAppender.setName("logstash");
logstashTcpSocketAppender.setContext(loggerContext);
logstashTcpSocketAppender.setRemoteHost("localhost");
logstashTcpSocketAppender.setPort(4560);
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
encoder.setContext(loggerContext);
encoder.start();
logstashTcpSocketAppender.setEncoder(encoder);
logstashTcpSocketAppender.start();
rootLogger.addAppender(logstashTcpSocketAppender);
rootLogger.setLevel(Level.ALL);
rootLogger.warn("TEST");
}
widzę że TcpSocketAppender loguje się moim logstash serwer, jednak nigdy nie otrzymam dziennika TEST. Ale widzę "TEST" w mojej konsoli.
Również jeśli konfiguracja rejestratora wspomniana w https://github.com/logstash/logstash-logback-encoder#tcp również działa.
Czy masz jakieś sugestie, aby wykonać tę pracę?
Dziękuję
Fabrice
Witam, Jakiej konfiguracji używasz do logowania? Mam na myśli "logstash-logback.conf". – cody123
czy masz wielu aplikantów? np. plik i logstashTcp? –