버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

Spring Boot로 구성한 Application을 CentOS의 Systemd 서비스로 등록하기 위해서 다음의 파일을 /etc/systemd/system/demo.service 파일로 기록합니다. 별도의 Configuration YAML 파일을 지정하려면 다음과 같이 -Dspring.config.location 옵션을 지정하고, 지정하지 않으면 JAR 파일의 CLASSPATH에서 application.yml 파일을 로딩합니다.

코드 블럭
languagetext
linenumberstrue
[Unit]
Description=Demo Java Service

[Service]
WorkingDirectory=/opt/app
ExecStart=/bin/java -Dspring.config.location=/opt/app/application.yml -jar /opt/app/demo-0.0.1-SNAPSHOT.jar        → spring.config.location으로 설정 파일 추가 (별도로 지정하고자 하는 경우에만)
User=root
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

...

코드 블럭
languagexml
linenumberstrue
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan
<configuration>

    <conversionRule conversionWord="trueclr" scanPeriodconverterClass="30 seconds"org.springframework.boot.logging.logback.ColorConverter" />
    <appender<conversionRule nameconversionWord="STDOUTwex" classconverterClass="ch.qosorg.springframework.boot.logging.logback.core.ConsoleAppenderWhitespaceThrowableProxyConverter" />
    <conversionRule conversionWord="wEx"   <encoder>converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />

    <property        <pattern>%d{name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}[%-5level] : %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} [%X{requestId:- }]%clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <property name="CONSOLE_LOG_CHARSET" value="${CONSOLE_LOG_CHARSET:-default}"/>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level><property name="FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <property    </filter>
        <file>mylog.txt</file>name="FILE_LOG_CHARSET" value="${FILE_LOG_CHARSET:-default}"/>

        <rollingPolicy<appender name="CONSOLE" class="ch.qos.logback.core.rolling.TimeBasedRollingPolicyConsoleAppender">
            <!-- rollover daily --><encoder>
            <fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern><pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <timeBasedFileNamingAndTriggeringPolicy<charset>${CONSOLE_LOG_CHARSET}</charset>
        </encoder>
    </appender>

    <logger    classname="chorg.qoshibernate.logbackvalidator.coreinternal.rolling.SizeAndTimeBasedFNATP"util.Version" level="WARN"/>
    <logger name="org.apache.coyote.http11.Http11NioProtocol" level="WARN"/>
    <logger name="org.crsh.plugin" level="WARN"/>
    <!-- or whenever the file size reaches 100MB --<logger name="org.apache.tomcat.util.net.NioSelectorPool" level="WARN"/>
    <logger name="org.apache.catalina.startup.DigesterFactory" level="ERROR"/>
    <logger name="org.springframework" level="INFO"/>
    <logger name="org.hibernate" level="INFO"/>
    <logger  <maxFileSize>100MB</maxFileSize>name="org.quartz" level="INFO"/>
    <logger name="com.mchange" level="INFO"/>
    <logger  </timeBasedFileNamingAndTriggeringPolicy>name="com.zaxxer" level="TRACE"/>
    <logger    </rollingPolicy>name="springfox.documentation" level="INFO"/>

    <logger    <encoder>name="jdbc.sqlonly" level="WARN"/>
    <logger name="jdbc.sqltiming" level="WARN"/>
      <pattern>[%-5level] %d{HH:mm:ss.SSS} %logger{36} - %msg%n</pattern><logger name="jdbc.resultset" level="WARN"/>
    <logger name="jdbc.audit" level="WARN"/>
  </encoder>
  <logger  </appender>
name="jdbc.connection" level="WARN"/>

     <root<logger name="io.datadynamics" level="INFODEBUG"/>

        <appender-ref ref<root level="STDOUTDEBUG"/>
        <appender-ref ref="ROLLINGCONSOLE"/>
    </root>
</configuration>

...