ํŠน์ • ๊ฐ’์„ ์ฐ์„ ๋•Œ print๋ฅผ ์ฐ๊ธฐ ์ผ์ˆ˜๋‹ค. ์‰ฌ์šฐ๋‹ˆ๊นŒ. ํ•˜์ง€๋งŒ ์ด ์Šต๊ด€์€ ์ข‹์ง€ ์•Š๋‹ค. ์™œ ์ธ์ง€ ์•Œ์•„๋ณด์ž.

ํ•ต์‹ฌ ์š”์•ฝ

  1. ์ด์Šˆ ํŠธ๋ž˜ํ‚น ์‹œ๊ฐ„ ๊ฐ์†Œ
  2. print ๋Œ€๋น„ ์„ฑ๋Šฅ ๋†’์Œ (multi thread)
  3. ์ฝ”๋“œ ๋™์ž‘์˜ ์†๋„ ํŒŒ์•…
  4. ์ฝ”๋“œ์˜ ์œ„์น˜ ํŒŒ์•…
  5. ์ฝ”๋“œ์˜ ์Šค๋ ˆ๋“œ ํŒŒ์•…

๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ด์œ 

  • ์–ด์ฐจํ”ผ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ณด๋Š” ๊ฑด๋ฐ, ๊ตณ์ด ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
  • ๊ฐœ๋ฐœ ์ดํ›„์— ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋„ ์•„๋‹ˆ๊ณ , ๊ฐœ๋ฐœ ๊ณผ์ •์ค‘ ์‚ฌ์šฉํ•  ๋•Œ ์ถœ๋ ฅ ๋น„๊ต์šฉ์ด๋ผ๋ฉด ๋˜‘๊ฐ™์€ ์šฉ๋„์•„๋‹Œ๊ฐ€?
  • ๋งŽ์€ ์ •๋ณด๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ, ์™œ ์จ์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค.

์ฆ‰, ๋‹จ์ˆœ ์ถœ๋ ฅ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํฌ๊ฒŒ ํ•„์š”์„ฑ์„ ๋ชป๋Š๋‚„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์ค‘์„ ์œ„ํ•ด Logger๋ฅผ ์‹ฌ์–ด๋†“๋Š” ์šฉ๋„๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋‘˜์˜ ์ฐจ์ด๋ฅผ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ, ์–ด๋Š ๊ฒฝ์šฐ์— Logger๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ์•Œ๊ณ , ๋‹จ์ˆœ ์ถœ๋ ฅ ์šฉ์œผ๋กœ ์„ ํƒํ•˜์—ฌ print๋ฌธ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

Logger์˜ ์žฅ์ 

  1. ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ค€๋‹ค.
    • ํ•ด๋‹น ๋ผ์ธ์˜ ์†๋„๊ฐ€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š”์ง€ ์ง๊ด€์ ์œผ๋กœ ํŒŒ์•… ๊ฐ€๋Šฅํ•˜๋‹ค.
  2. ์œ„์น˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
    • ์–ด๋”” ํŒŒ์ผ์˜ ๋ผ์ธ์—์„œ ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์‚ฝ์ž…๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  3. ๋ณดํ†ต Multi Thread ์ง€์›ํ•˜์—ฌ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
    • print์˜ ๊ฒฝ์šฐ Lock์ด ๊ฑธ๋ ค์„œ ์†๋„์— ์ง€์žฅ์„ ์ค€๋‹ค.

Logger๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฒฝ์šฐ

  1. ์ฝ˜์†”๋กœ ํ•ด๋‹น ์ฝ”๋“œ์˜ ์‹คํ–‰ ๋ฐ ๊ฐ’์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•œ ๊ฒฝ์šฐ
  2. ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์†Œ์ง€๊ฐ€ ์žˆ์–ด, ์ถ”ํ›„ ๋น ๋ฅด๊ฒŒ ๋กœ๊ทธ๋งŒ ๋ณด๊ณ  ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•œ ๊ฒฝ์šฐ
    • ๋กœ๊ทธ๊ฐ€ ์—†๋‹ค๋ฉด ์–ด๋””์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
  3. ์Šค๋ ˆ๋“œ๋„ ๊ฐ™์ด ํ‘œ๊ธฐํ•˜๋ฉด ์ข‹์€ ๊ฒฝ์šฐ

์ฃผ์˜ํ•  ์ 

  • ๋‚จ๋ฐœํ•˜์ง€ ๋ง ๊ฒƒ.
  • ๋ฌด์˜๋ฏธํ•œ ๋กœ๊ทธ๋Š” ์˜คํžˆ๋ ค ๋‹จ์ ์ด๋‹ค.
  • I/O
  • ์ด์— ๋กœ๊ทธ ๋ ˆ๋ฒจ์„ ๋”ฐ๋กœ ๋‘์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.
    • ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€: ERROR > WARN > INFO > DEBUG > TRACE