UNPKG

@homecheck/logger

Version:

A simple logger for Web, Node, Capacitor apps.

115 lines (87 loc) โ€ข 2.93 kB
<div align="center"> # ๐Ÿชต @homecheck/logger ๊ฐ„๋‹จํ•œ ์›น, ๋…ธ๋“œ, ์บํผ์‹œํ„ฐ ์•ฑ์„ ์œ„ํ•œ ๋กœ๊น… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ </div> > [!NOTE] > ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ(์›น, ๋…ธ๋“œ, ์บํผ์‹œํ„ฐ)์—์„œ ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ์„œ๋ฒ„๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ## ๐Ÿ“‹ ํŠน์ง• - ๋‹ค์–‘ํ•œ ๋กœ๊ทธ ๋ ˆ๋ฒจ ์ง€์› (debug, info, warn, error, fatal) - ์˜คํ”„๋ผ์ธ ์ƒํƒœ์—์„œ๋„ ๋กœ๊ทธ ์ €์žฅ ๋ฐ ์˜จ๋ผ์ธ ์‹œ ์ž๋™ ์ „์†ก - ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋กœ๊ทธ ์ „์†ก ๊ฐ€๋Šฅ - ๋ฐฐ์น˜ ๋ชจ๋“œ ์ง€์›์œผ๋กœ ํšจ์œจ์ ์ธ ๋กœ๊ทธ ์ „์†ก - ์Šคํƒ ํŠธ๋ ˆ์ด์Šค ์ž๋™ ์ˆ˜์ง‘ - ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ง€์› ## ๐Ÿš€ ์„ค์น˜ ``` pnpm add @homecheck/logger # ๋˜๋Š” npm install @homecheck/logger # ๋˜๋Š” yarn add @homecheck/logger ``` ## ๐Ÿ”ง ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• ### ์ดˆ๊ธฐํ™” ``` import Logger from '@homecheck/logger' Logger.initialize({ utc: 9, // ํ•œ๊ตญ ์‹œ๊ฐ„๋Œ€ projectName: 'ํ”„๋กœ์ ํŠธ๋ช…', reportServers: { example-server-1: { url: 'https://your-log-server.com/api/logs', token: 'your-auth-token', // optional batch: true // ๋ฐฐ์น˜ ๋ชจ๋“œ ํ™œ์„ฑํ™” (optional, ๊ธฐ๋ณธ๊ฐ’ false, true์‹œ ๋ฐฐ์—ด๋กœ ์ „์†ก) }, example-slack: { url: 'https://hooks.slack.com/services/your-webhook-url', token: 'your-auth-token', // optional slackChannel: '#errors' // slack์˜ ์ฑ„๋„ID (optional) } }, maxQueueSize: 1000, // ์ตœ๋Œ€ ๋กœ๊ทธ ํ ํฌ๊ธฐ (optional, ๊ธฐ๋ณธ๊ฐ’ 1000) batchSize: 50, // ๋ฐฐ์น˜ ์ „์†ก ํฌ๊ธฐ (optional, ๊ธฐ๋ณธ๊ฐ’ 50) retryInterval: 30000 // ์žฌ์‹œ๋„ ๊ฐ„๊ฒฉ (optional, ๊ธฐ๋ณธ๊ฐ’ 30000ms) }) ``` ### ๋กœ๊ทธ ๊ธฐ๋ก ``` import Logger from '@homecheck/logger' // ๊ธฐ๋ณธ ๋กœ๊ทธ ๊ธฐ๋ก Logger.info('์ผ๋ฐ˜ ์ •๋ณด ๋กœ๊ทธ') Logger.warn('๊ฒฝ๊ณ  ๋กœ๊ทธ') Logger.error('์—๋Ÿฌ ๋กœ๊ทธ') Logger.debug('๋””๋ฒ„๊ทธ ๋กœ๊ทธ') Logger.fatal('์น˜๋ช…์  ์˜ค๋ฅ˜ ๋กœ๊ทธ') // ๊ฐ์ฒด ๋กœ๊น… Logger.info({ user: 'user123', action: 'login' }) // ์—๋Ÿฌ ๊ฐ์ฒด ๋กœ๊น… try { throw new Error('์—๋Ÿฌ ๋ฐœ์ƒ!') } catch (error) { Logger.error(error) } ``` ### ๋กœ๊ทธ ์ „์†ก ``` // ํŠน์ • ์„œ๋ฒ„๋กœ๋งŒ ๋กœ๊ทธ ์ „์†ก Logger.error(error).report(['example-server-1']) // ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋กœ๊ทธ ์ „์†ก Logger.warn('์ฃผ์˜ ํ•„์š”').report(['example-slack', 'example-server-1']) // ๋ชจ๋“  ์„œ๋ฒ„๋กœ ๋กœ๊ทธ ์ „์†ก Logger.info('๋กœ๊ทธ').report() ``` ## ๐Ÿ“ ๋กœ๊ทธ ๋ ˆ๋ฒจ - `DEBUG`: ๊ฐœ๋ฐœ ์ค‘ ๋””๋ฒ„๊น… ๋ชฉ์ ์˜ ์ƒ์„ธ ์ •๋ณด - `INFO`: ์ผ๋ฐ˜์ ์ธ ์ •๋ณด์„ฑ ๋ฉ”์‹œ์ง€ - `WARN`: ์ž ์žฌ์  ๋ฌธ์ œ ๊ฒฝ๊ณ  - `ERROR`: ์˜ค๋ฅ˜ ๋ฐœ์ƒ - `FATAL`: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ค‘๋‹จ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ## ๐Ÿ”„ ์˜คํ”„๋ผ์ธ ์ง€์› @homecheck/logger๋Š” ์˜คํ”„๋ผ์ธ ์ƒํƒœ์—์„œ๋„ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋ณต๊ตฌ๋˜๋ฉด ์ž๋™์œผ๋กœ ์„œ๋ฒ„์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. - ๋ชจ๋˜ ๋ธŒ๋ผ์šฐ์ € (Chromium, Firefox, etc...) - CapacitorJS - NodeJS <div align="center"> <b>ยฉ 2025 Homecheck</b> </div>