Spring Boot: как я могу установить уровень ведения журнала с помощью приложения.недвижимость?



Это очень простой вопрос, но я не могу найти информацию.

(Возможно, мои знания о Java-фреймворках сильно отсутствуют)



Как я могу установить уровень ведения журнала с приложением.недвижимость?

И местоположение файла журнала и т. д.?

659   10  

10 ответов:

обновление: начиная с Spring Boot v1.2.0.Отпустите, настройки в application.properties или application.yml применить. Смотрите журнала справочного руководства.

logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR

для более ранних версий Spring Boot вы не можете. Для этого вам просто нужно использовать обычную конфигурацию для вашей структуры ведения журнала (log4j, logback). Добавьте соответствующий конфигурационный файл (log4j.xml или logback.xml) к src/main/resources каталог и настроить по своему вкусу.

вы можете включить ведение журнала отладки путем указания --debug при запуске приложения из командной строки.

Spring Boot также является хорошей отправной точкой для logback для настройки некоторых параметров по умолчанию, раскраски и т. д. элемент базы.xml файл, который вы можете просто включить в свой logback.XML-файл. (Это также рекомендуется по умолчанию logback.xml в весенней загрузке.

<include resource="org/springframework/boot/logging/logback/base.xml"/>     

вы можете сделать это с помощью приложения.свойства.

logging.level.=ERROR - > устанавливает корневой уровень ведения журнала в error
...
logging.level.=DEBUG - > устанавливает корневой уровень ведения журнала для отладки

logging.file=${java.io.tmpdir}/myapp.log - > задает абсолютный путь к файлу журнала TMPDIR / myapp.бревно

Нормальный набор приложений по умолчанию.свойства относительно ведения журнала с использованием профилей будут: приложение.свойства:

spring.application.name=<your app name here>
logging.level.=ERROR
logging.file=${java.io.tmpdir}/${spring.application.name}.log

application-dev.свойства:

logging.level.=DEBUG
logging.file=

когда вы развиваетесь внутри своей любимой IDE, вы просто добавляете -Dspring.profiles.active=dev в качестве аргумента виртуальной машины для запуска/отладки конфигурации вашего приложения.

это даст вам ошибку только при входе в производственный и отладочный журнал во время разработки без записи выходных данных в файл журнала. Это позволит повысить производительность во время разработки ( и сэкономить SSD диски несколько часов работы ;) ).

правильный способ установить root уровень ведения журнала использует свойство logging.level.root. Смотрите документация, который был обновлен с тех пор, как этот вопрос был первоначально задан.

пример:

logging.level.root=WARN

убедившись, что Дэйв Сир совет получает некоторую любовь, потому что добавление debug=true для приложения.свойства действительно включат ведение журнала отладки.

предположим, что ваше приложение имеет имя пакета как com.company.myproject. Затем вы можете установить уровень ведения журнала для классов внутри проекта, как указано ниже в приложении.файлы свойств

logging.level.com.company. myproject = DEBUG

logging.level.org.springframework.web = DEBUG и logging.level.org.hibernate = DEBUG будет установлен уровень ведения журнала для классов Spring framework web и Hibernate только.

для установки местоположения файла журнала используйте

ведение журнала.папка= / home / ubuntu / myproject.журнал

в случае, если вы хотите использовать другую структуру ведения журнала, log4j например, я нашел самый простой подход, чтобы отключить spring boots собственное ведение журнала и реализовать свой собственный. Таким образом, я могу настроить каждый уровень журнала в одном файле, log4j.xml (в моем случае) то есть.

для этого вам просто нужно добавить эти строки в ваш pom.XML-код:

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

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

Если вы находитесь на Spring Boot, то вы можете напрямую добавить следующие свойства в применении.свойства файл для установки уровня ведения журнала, настроить шаблон ведения журнала и хранить журналы во внешнем файле.

Это разные уровни ведения журнала и его порядок от минимального

ВЫКЛ

# To set logs level as per your need.
logging.level.org.springframework = debug
logging.level.tech.hardik = trace

# To store logs to external file
# Here use strictly forward "/" slash for both Windows, Linux or any other os, otherwise, its won't work.      
logging.file=D:/spring_app_log_file.log

# To customize logging pattern.
logging.pattern.file= "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

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

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

для записи:официальная документация, что касается Spring Boot v1.2.0.Выпуск и пружина v4.1.3.Релиз:

Если единственное изменение, которое нужно внести в журнал должна установить уровни различных регистраторов, то вы можете сделать это в приложении.свойства с помощью " ведение журнала.префикс" уровень", например

logging.level.org.springframework.web: DEBUG logging.level.org.hibernate: ERROR

вы также можете установить расположение файла для входа в систему (в дополнение к консоль) через "вход.папка."

для настройки более тонких параметров системы ведения журнала необходимо использовать собственный формат конфигурации, поддерживаемый рассматриваемой системой ведения журнала. По умолчанию Spring Boot выбирает собственную конфигурацию из своего расположения по умолчанию для системы (например, classpath:logback.xml для Logback), но вы можете установить расположение файла конфигурации с помощью "logging.конфигурация" собственность.

в случае eclipse IDE и вашего проекта maven, не забудьте очистить и построить проект, чтобы отразить изменения.

Если вы хотите установить более подробную информацию, добавьте имя файла конфигурации журнала " logback.xml " или " logback-spring.XML."

в вашем приложении.свойства файла, введите вот так:

logging.config: classpath:logback-spring.xml

в loback-весна.xml, вводим вот так:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <include resource="org/springframework/boot/logging/logback/base.xml"/>

        <appender name="ROOT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">

            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>

            <file>sys.log</file>

            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">


                <fileNamePattern>${LOG_DIR}/${SYSTEM_NAME}/system.%d{yyyy-MM-dd}.%i.log</fileNamePattern>

                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>500MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>

            <encoder>
                <pattern>%-20(%d{yyy-MM-dd HH:mm:ss.SSS} [%X{requestId}]) %-5level - %logger{80} - %msg%n
                </pattern>
            </encoder>
        </appender>


        <appender name="BUSINESS_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>TRACE</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>

            <file>business.log</file>

            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

                <fileNamePattern>${LOG_DIR}/${SYSTEM_NAME}/business.%d{yyyy-MM-dd}.%i.log</fileNamePattern>

                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>500MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>

            <encoder>
                <pattern>%-20(%d{yyy-MM-dd HH:mm:ss.SSS} [%X{requestId}]) %-5level - %logger{80} - %msg%n
                </pattern>
            </encoder>
        </appender>


        <logger name="{project-package-name}" level="TRACE">
            <appender-ref ref="BUSINESS_APPENDER" />
        </logger>

        <root level="INFO">
            <appender-ref ref="ROOT_APPENDER" />
        </root>

    </configuration>

Comments

    Ничего не найдено.