@homecheck/logger
Version:
A simple logger for Web, Node, Capacitor apps.
115 lines (87 loc) โข 2.93 kB
Markdown
<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>