본문 바로가기
강의 실습/비전공자도 이해할 수 있는 리눅스 입문 실전

[실습] Spring Boot 서버가 출력하는 로그를 파일로 남기기

by jint 2025. 11. 13.

1. 사전 환경 세팅
1) JDK 설치
Java 17을 기준으로 구성된 Spring Boot 서버를 실행시킬 예정이다. Spring Boot 서버를 실행시키려면 JDK 가 설치되어 있어야 한다. 따라서 JDK 17 버전을 설치한다.

- Ubuntu

ubuntu@ip-172-31-39-75:~$ sudo apt update
Hit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:4 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1585 kB]
Get:5 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [175 kB]
Get:6 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/main amd64 c-n-f Metadata [15.7 kB]
Get:7 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1498 kB]
Get:8 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [303 kB]
Get:9 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [378 kB]
Get:10 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/universe amd64 c-n-f Metadata [31.4 kB]
Get:11 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:12 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:13 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:14 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7140 B]
Get:15 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [11.0 kB]
Get:16 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [216 B]
Get:17 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:18 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [1309 kB]
Get:19 http://security.ubuntu.com/ubuntu noble-security/main Translation-en [215 kB]
Get:20 http://security.ubuntu.com/ubuntu noble-security/main amd64 Components [21.5 kB]
Get:21 http://security.ubuntu.com/ubuntu noble-security/main amd64 c-n-f Metadata [9416 B]
Get:22 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [908 kB]
Get:23 http://security.ubuntu.com/ubuntu noble-security/universe Translation-en [204 kB]
Get:24 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Components [52.2 kB]
Get:25 http://security.ubuntu.com/ubuntu noble-security/universe amd64 c-n-f Metadata [19.4 kB]
Get:26 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B]
Get:27 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [212 B]
Fetched 7123 kB in 3s (2285 kB/s)                                 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
26 packages can be upgraded. Run 'apt list --upgradable' to see them.
ubuntu@ip-172-31-39-75:~$ sudo apt install openjdk-17-jdk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  adwaita-icon-theme alsa-topology-conf alsa-ucm-conf at-spi2-common at-spi2-core ca-certificates-java dconf-gsettings-backend dconf-service fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra
  fonts-dejavu-mono gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme java-common libasound2-data libasound2t64 libatk-bridge2.0-0t64 libatk-wrapper-java
  libatk-wrapper-java-jni libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1
  libdrm-intel1 libfontconfig1 libgail-common libgail18t64 libgbm1 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglvnd0 libglx-mesa0 libglx0 libgraphite2-3
  libgtk2.0-0t64 libgtk2.0-bin libgtk2.0-common libharfbuzz0b libice-dev libice6 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 liblerc4 libllvm20 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpciaccess0 libpcsclite1 libpixman-1-0 libpthread-stubs0-dev librsvg2-2 librsvg2-common libsharpyuv0 libsm-dev libsm6 libthai-data libthai0 libtiff6 libvulkan1 libwayland-client0 libwayland-server0
  libwebp7 libx11-dev libx11-xcb1 libxau-dev libxaw7 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1-dev libxcomposite1
  libxcursor1 libxdamage1 libxdmcp-dev libxfixes3 libxft2 libxi6 libxinerama1 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt-dev libxt6t64 libxtst6 libxv1 libxxf86dga1 libxxf86vm1
  mesa-libgallium mesa-vulkan-drivers openjdk-17-jdk-headless openjdk-17-jre openjdk-17-jre-headless session-migration ubuntu-mono x11-common x11-utils x11proto-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
  default-jre alsa-utils libasound2-plugins cups-common gvfs libice-doc liblcms2-utils pcscd librsvg2-bin libsm-doc libx11-doc libxcb-doc libxt-doc openjdk-17-demo openjdk-17-source visualvm libnss-mdns
  fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic mesa-utils
Recommended packages:
  luit
The following NEW packages will be installed:
  adwaita-icon-theme alsa-topology-conf alsa-ucm-conf at-spi2-common at-spi2-core ca-certificates-java dconf-gsettings-backend dconf-service fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-extra
  fonts-dejavu-mono gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme java-common libasound2-data libasound2t64 libatk-bridge2.0-0t64 libatk-wrapper-java
  libatk-wrapper-java-jni libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcups2t64 libdatrie1 libdconf1 libdeflate0 libdrm-amdgpu1
  libdrm-intel1 libfontconfig1 libgail-common libgail18t64 libgbm1 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri libglvnd0 libglx-mesa0 libglx0 libgraphite2-3
  libgtk2.0-0t64 libgtk2.0-bin libgtk2.0-common libharfbuzz0b libice-dev libice6 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 liblerc4 libllvm20 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpciaccess0 libpcsclite1 libpixman-1-0 libpthread-stubs0-dev librsvg2-2 librsvg2-common libsharpyuv0 libsm-dev libsm6 libthai-data libthai0 libtiff6 libvulkan1 libwayland-client0 libwayland-server0
  libwebp7 libx11-dev libx11-xcb1 libxau-dev libxaw7 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1-dev libxcomposite1
  libxcursor1 libxdamage1 libxdmcp-dev libxfixes3 libxft2 libxi6 libxinerama1 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt-dev libxt6t64 libxtst6 libxv1 libxxf86dga1 libxxf86vm1
  mesa-libgallium mesa-vulkan-drivers openjdk-17-jdk openjdk-17-jdk-headless openjdk-17-jre openjdk-17-jre-headless session-migration ubuntu-mono x11-common x11-utils x11proto-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 128 newly installed, 0 to remove and 26 not upgraded.
Need to get 196 MB of archives.
After this operation, 636 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/main amd64 libgdk-pixbuf2.0-common all 2.42.10+dfsg-3ubuntu3.2 [8192 B]
Get:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble/main amd64 libjpeg-turbo8 amd64 2.1.5-2ubuntu2 [150 kB]
Get:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble/main amd64 libjpeg8 amd64 8c-2ubuntu11 [2148 B]
Get:4 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu noble-updates/main amd64 libdeflate0 amd64 1.19-1build1.1 [43.9 kB]
...


패키지 목록을 최신화한 후, openjdk-17-jdk 패키지를 설치한다.

2) 잘 설치됐는지 확인
- Ubuntu

ubuntu@ip-172-31-39-75:~$ sudo apt list --installed | grep openjdk-17-jdk

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

openjdk-17-jdk-headless/noble-updates,noble-security,now 17.0.16+8~us1-0ubuntu1~24.04.1 amd64 [installed,automatic]
openjdk-17-jdk/noble-updates,noble-security,now 17.0.16+8~us1-0ubuntu1~24.04.1 amd64 [installed]
ubuntu@ip-172-31-39-75:~$ java -version
openjdk version "17.0.16" 2025-07-15
OpenJDK Runtime Environment (build 17.0.16+8-Ubuntu-0ubuntu124.04.1)
OpenJDK 64-Bit Server VM (build 17.0.16+8-Ubuntu-0ubuntu124.04.1, mixed mode, sharing)


설치된 openjdk-17-jdk 패키지 확인 후 설치된 자바 버전도 확인하였다.

3) Github으로부터 Spring Boot 프로젝트 clone
Github 링크 : https://github.com/JSCODE-EDU/linux-springboot

 

GitHub - JSCODE-EDU/linux-springboot: <비전공자도 이해할 수 있는 리눅스 입문/실전> 中 예제 프로젝트

<비전공자도 이해할 수 있는 리눅스 입문/실전> 中 예제 프로젝트. Contribute to JSCODE-EDU/linux-springboot development by creating an account on GitHub.

github.com


- Ubuntu

ubuntu@ip-172-31-39-75:~$ cd ~
ubuntu@ip-172-31-39-75:~$ git clone https://github.com/JSCODE-EDU/linux-springboot.git
Cloning into 'linux-springboot'...
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 30 (delta 1), reused 30 (delta 1), pack-reused 0 (from 0)
Receiving objects: 100% (30/30), 45.63 KiB | 11.41 MiB/s, done.
Resolving deltas: 100% (1/1), done.
ubuntu@ip-172-31-39-75:~$ ls
all.txt  app.txt  awesome-service  directory.txt  dummy.txt  error.txt  linux-springboot  list.txt  list2.txt  list3.txt  list4.txt  myfile.txt  new-box  result.txt
ubuntu@ip-172-31-39-75:~$ cd linux-springboot
ubuntu@ip-172-31-39-75:~/linux-springboot$ ls
build.gradle  gradle  gradlew  gradlew.bat  settings.gradle  src


성공적으로 Spring Boot 프로젝트를 clone 했다. linux-springboot 경로에 Spring Boot 관련된 프로젝트 파일들이 세팅된 것을 확인할 수 있다.

4) 서버 실행시키기
- Ubuntu

ubuntu@ip-172-31-39-75:~/linux-springboot$ ./gradlew clean build
Downloading https://services.gradle.org/distributions/gradle-8.14-bin.zip
.............10%.............20%.............30%.............40%.............50%.............60%.............70%.............80%.............90%..............100%

Welcome to Gradle 8.14!

Here are the highlights of this release:
 - Java 24 support
 - GraalVM Native Image toolchain selection
 - Enhancements to test reporting
 - Build Authoring improvements

For more details see https://docs.gradle.org/8.14/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 50s
6 actionable tasks: 5 executed, 1 up-to-date
ubuntu@ip-172-31-39-75:~/linux-springboot$ ls
build  build.gradle  gradle  gradlew  gradlew.bat  settings.gradle  src
ubuntu@ip-172-31-39-75:~/linux-springboot$ cd build
ubuntu@ip-172-31-39-75:~/linux-springboot/build$ ls
classes  generated  libs  resolvedMainClassName  resources  tmp
ubuntu@ip-172-31-39-75:~/linux-springboot/build$ cd libs
ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ ls
linux-springboot-0.0.1-SNAPSHOT-plain.jar  linux-springboot-0.0.1-SNAPSHOT.jar
ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ java -jar linux-springboot-0.0.1-SNAPSHOT
linux-springboot-0.0.1-SNAPSHOT-plain.jar  linux-springboot-0.0.1-SNAPSHOT.jar        
ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ java -jar linux-springboot-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.5.0)

2025-11-13T12:03:07.191Z  INFO 338570 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Starting LinuxSpringbootApplication v0.0.1-SNAPSHOT using Java 17.0.16 with PID 338570 (/home/ubuntu/linux-springboot/build/libs/linux-springboot-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/linux-springboot/build/libs)
2025-11-13T12:03:07.200Z  INFO 338570 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : No active profile set, falling back to 1 default profile: "default"
2025-11-13T12:03:09.401Z  INFO 338570 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2025-11-13T12:03:09.437Z  INFO 338570 --- [linux-springboot] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2025-11-13T12:03:09.438Z  INFO 338570 --- [linux-springboot] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.41]
2025-11-13T12:03:09.486Z  INFO 338570 --- [linux-springboot] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2025-11-13T12:03:09.488Z  INFO 338570 --- [linux-springboot] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2129 ms
2025-11-13T12:03:10.275Z  INFO 338570 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2025-11-13T12:03:10.321Z  INFO 338570 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Started LinuxSpringbootApplication in 3.997 seconds (process running for 4.754)


서버를 실행시키기 전에 먼저 빌드를 해야 한다.
기존에 빌드된 파일을 삭제하고 새롭게 JAR 로 빌드한 뒤 ~/linux-springboot/build/libs 경로에서 Spring Boot 프로젝트를 실행시킨다.
로그가 터미널 화면에 출력된 것을 확인할 수 있다.

 

Spring Boot 프로젝트 실행시 터미널 화면에 로그 출력 과정


Spring Boot 출력되는 로그가 표준 출력, 표준 에러 출력으로 전달되면 터미널에 기본값으로 출력하게끔 세팅되어 있기 때문에 터미널에 로그가 나오는 것을 확인할 수 있다.


2. Spring Boot 서버가 출력하는 로그를 파일로 남기기
1) 실행시킨 서버 종료
Ctrl + c 를 누르면 종료된다.

- Ubuntu

^C2025-11-13T12:10:26.012Z  INFO 338570 --- [linux-springboot] [ionShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2025-11-13T12:10:26.028Z  INFO 338570 --- [linux-springboot] [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete


2) 표준 출력과 표준 에러 출력을 파일로 리다이렉션
- Ubuntu

ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ java -jar linux-springboot-0.0.1-SNAPSHOT.jar >> app.log 2>&1


표준 출력과 표준 에러 출력에서 발생하는 값을 app.log 파일로 전송하기 위해, 2>&1 을 활용했고, Spring Boot 를 실행시킬 때마다 기존 로그 파일의 내용이 삭제되지 않게 > 대신에 >> 를 사용했다.

참고)
2>&1 은 표준 에러(파일 디스크립터 2번)를 표준 출력(파일 디스크립터 1번)과 동일한 곳으로 리다이렉션하라는 의미

 

Spring Boot 프로젝트 실행시 파일에 로그 출력 과정


3) 로그가 파일에 잘 저장됐는 지 확인
Ctrl + c 를 눌러 서버를 종료시킨 후 로그 파일을 확인한다.

- Ubuntu

^Cubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ ls
app.log  linux-springboot-0.0.1-SNAPSHOT-plain.jar  linux-springboot-0.0.1-SNAPSHOT.jar
ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ cat app.log

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.5.0)

2025-11-13T12:14:07.824Z  INFO 338616 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Starting LinuxSpringbootApplication v0.0.1-SNAPSHOT using Java 17.0.16 with PID 338616 (/home/ubuntu/linux-springboot/build/libs/linux-springboot-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/linux-springboot/build/libs)
2025-11-13T12:14:07.828Z  INFO 338616 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : No active profile set, falling back to 1 default profile: "default"
2025-11-13T12:14:09.769Z  INFO 338616 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2025-11-13T12:14:09.810Z  INFO 338616 --- [linux-springboot] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2025-11-13T12:14:09.812Z  INFO 338616 --- [linux-springboot] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.41]
2025-11-13T12:14:09.878Z  INFO 338616 --- [linux-springboot] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2025-11-13T12:14:09.882Z  INFO 338616 --- [linux-springboot] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1865 ms
2025-11-13T12:14:10.508Z  INFO 338616 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2025-11-13T12:14:10.552Z  INFO 338616 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Started LinuxSpringbootApplication in 3.652 seconds (process running for 4.546)
2025-11-13T12:14:36.719Z  INFO 338616 --- [linux-springboot] [ionShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2025-11-13T12:14:36.728Z  INFO 338616 --- [linux-springboot] [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete
ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ vi app.log


로그가 파일에 저장된 것을 확인할 수 있다.
서버를 다시 실행시켰다가 종료한 후에 로그 파일이 덮어씌어지지 않고 이어서 저장되었는지 확인해본다.

- Ubuntu

ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ java -jar linux-springboot-0.0.1-SNAPSHOT.jar >> app.log 2>&1
^Cubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ vi app.log
ubuntu@ip-172-31-39-75:~/linux-springboot/build/libs$ cat app.log

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.5.0)

2025-11-13T12:14:07.824Z  INFO 338616 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Starting LinuxSpringbootApplication v0.0.1-SNAPSHOT using Java 17.0.16 with PID 338616 (/home/ubuntu/linux-springboot/build/libs/linux-springboot-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/linux-springboot/build/libs)
2025-11-13T12:14:07.828Z  INFO 338616 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : No active profile set, falling back to 1 default profile: "default"
2025-11-13T12:14:09.769Z  INFO 338616 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2025-11-13T12:14:09.810Z  INFO 338616 --- [linux-springboot] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2025-11-13T12:14:09.812Z  INFO 338616 --- [linux-springboot] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.41]
2025-11-13T12:14:09.878Z  INFO 338616 --- [linux-springboot] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2025-11-13T12:14:09.882Z  INFO 338616 --- [linux-springboot] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1865 ms
2025-11-13T12:14:10.508Z  INFO 338616 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2025-11-13T12:14:10.552Z  INFO 338616 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Started LinuxSpringbootApplication in 3.652 seconds (process running for 4.546)
2025-11-13T12:14:36.719Z  INFO 338616 --- [linux-springboot] [ionShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2025-11-13T12:14:36.728Z  INFO 338616 --- [linux-springboot] [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.5.0)

2025-11-13T12:26:02.251Z  INFO 338674 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Starting LinuxSpringbootApplication v0.0.1-SNAPSHOT using Java 17.0.16 with PID 338674 (/home/ubuntu/linux-springboot/build/libs/linux-springboot-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/linux-springboot/build/libs)
2025-11-13T12:26:02.258Z  INFO 338674 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : No active profile set, falling back to 1 default profile: "default"
2025-11-13T12:26:04.037Z  INFO 338674 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2025-11-13T12:26:04.064Z  INFO 338674 --- [linux-springboot] [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2025-11-13T12:26:04.064Z  INFO 338674 --- [linux-springboot] [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.41]
2025-11-13T12:26:04.113Z  INFO 338674 --- [linux-springboot] [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2025-11-13T12:26:04.116Z  INFO 338674 --- [linux-springboot] [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1713 ms
2025-11-13T12:26:04.807Z  INFO 338674 --- [linux-springboot] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2025-11-13T12:26:04.837Z  INFO 338674 --- [linux-springboot] [           main] c.e.l.LinuxSpringbootApplication         : Started LinuxSpringbootApplication in 3.53 seconds (process running for 4.168)
2025-11-13T12:26:55.617Z  INFO 338674 --- [linux-springboot] [ionShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown        : Commencing graceful shutdown. Waiting for active requests to complete
2025-11-13T12:26:55.638Z  INFO 338674 --- [linux-springboot] [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown        : Graceful shutdown complete


기존 로그가 사라지지 않고 계속해서 쌓이게끔 만들었다.
실제 현업에서 서비스를 운영할 때, 출력되는 로그를 터미널 화면에서 보게끔 만들지 않고 파일로 저장한다. 나중에 문제가 생겼을 때 로그 파일을 열어서 디버깅을 하기 때문이다.


참고링크 : https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90%EB%8F%84-%EC%9D%B4%ED%95%B4%ED%95%A0-%EC%88%98-%EC%9E%88%EB%8A%94-%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9E%85

 

비전공자도 이해할 수 있는 리눅스 입문/실전| JSCODE 박재성 - 인프런 강의

현재 평점 5.0점 수강생 286명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 '리눅스 입문' 강의를 만들어봤습니다! 리눅스를 처음 배우시는 분, Per

www.inflearn.com

댓글