Журналы движка приложения Spring boot не отформатированы - PullRequest
0 голосов
/ 05 июля 2019

Я развернул приложение весенней загрузки 2 в appengine, и оно отлично работает.

Единственное, что стандартный механизм ведения журнала конфликтует с системой ведения журнала gcp.Я получаю сотни информационных журналов, даже когда выдается исключение или предупреждение.

logs

Мне кажется, проблема в том, что журналы очень длинные и начинаются с ненужных данных.

В моей конфигурации я использую lombok + Slf4j для входа в свое приложение, и я думаю, что обратный вызов включен по умолчанию, так как у меня есть spring-boot-starter-web.

у моего pom есть этизависимости:

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter-data-datastore</artifactId>
        </dependency>

        <!--Standard dep-->

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>${appengine.target.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.api-client</groupId>
            <artifactId>google-api-client-appengine</artifactId>
            <version>1.29.2</version>
        </dependency>

        <!--Provided-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!--Test related-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

и в папке ресурсов у меня есть файл logging.properties, как предлагается на странице весенней загрузки для механизма приложений (избегайте ошибок переполнения стека во время запуска)

С той лишь разницей, что если я исключу jul-to-slf4j, я не увижу ни одного журнала в консоли.

Любой более опытный специалист по logback / весенней загрузке может указать мне на правонаправление?

1 Ответ

0 голосов
/ 06 июля 2019

Добавьте файл logback.xml в папку ресурсов вашего проекта.Spring boot загрузит его при запуске и переопределит конфигурацию обратного входа по умолчанию в комплекте с весенней загрузкой.

Внутри вашего logback.xml вы можете определить свой собственный шаблон ведения журнала и удалить ненужные данные.

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

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

В приведенном выше примере не будет отметки времени или потока в шаблоне журнала.Вы можете изменить это в соответствии с вашим конкретным вариантом использования.

ОБНОВЛЕНИЕ

В качестве альтернативы, вы можете добиться этого путем переопределения шаблона журнала через свойство приложения.

Для ведения журнала консоли

logging.pattern.console=%-5level %logger{36} - %msg%n

Для ведения журнала файла

logging.pattern.file=%-5level %logger{36} - %msg%n

Вы можете найти объяснение значения каждой части шаблона ведения журнала здесь: https://logback.qos.ch/manual/layouts.html#conversionWord

...