https://github.com/tgsnake/log
logging library for tgsnake
https://github.com/tgsnake/log
logger telegram
Last synced: 4 months ago
JSON representation
logging library for tgsnake
- Host: GitHub
- URL: https://github.com/tgsnake/log
- Owner: tgsnake
- License: mit
- Created: 2022-07-07T04:30:00.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-18T03:09:43.000Z (about 2 years ago)
- Last Synced: 2025-11-09T23:22:41.543Z (8 months ago)
- Topics: logger, telegram
- Language: TypeScript
- Homepage: https://deno.land/x/tgsnake_log
- Size: 3.48 MB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tgsnake Log
This framework is used to better display logs on your console or terminal.
## Available log levels
This framework using `env` in node and `localStorage` in browser for betters performance :
- `LOGLEVEL` : To save the log level. So only declaring in one instance, all instance can read that log level.
- `LOGFILTERS` : To save any instance that can display context on console or terminal (according to the name that was given at the time of initialization). default is `all,unamed`.
- `LOGWARNINGLEVEL` : To save the warning level.
- `debug` or `verbose` : To showing all level in terminal.
- `info` : Shows only context with level `info` on console or terminal.
- `error` : Shows only context with level `error` on console or terminal.
- `warn` : Shows only context with level `warn` (`warning`) on console or terminal.
- `none` : Will not display anything on console or terminal
## How to use
```js
const { Logger } = require('@tgsnake/log');
const log = new Logger({
name: 'some-string-without-space-here',
level: ['debug'], // default level for this log
});
log.log('Hello World'); // (name) info - Hello World DD/MM/YY hh:mm:ss.ms
```
## Class Method
- `log` : Print log without template.
- `info` : Print log as info level.
- `error` : Print log as error level.
- `warning` : Print log as warning level.
- `combine` : Print log as multiple level.
- `debug` : Print log as debug level.
- `setLogLevel` : Setting the log level.
- `setWarningLevel` : Setting the warning level. `hard` if you want show the context in all log level, `soft` if you want show the context only in `warning` or `debug` or `verbose` level.
- `setFilters` : Setting any instance that can display context in the console or terminal.
## Options
| parameter | type | description |
| :-- | :-: | :-- |
| name | string | Name of logger instance, default is `unamed` |
| level | Array of `debug`, `none`, `info`, `error`, `verbose` | The level of the logger. By default it will take the value from the env `LOGLEVEL` or if it is not available it will automatically go into `debug` level |
| customColor | [Color](#color) | Console color customization |
### Color
On deno supports chalk v5 customization while on node supports chalk v4 customization. For RGB, HSL (only for node), HSV (only for node), HWB (only for node), you can use the format: `format(a,b,c)` example `rgb(0,0,0)` or `hsl(0,0,0)`. And you can directly provide the hex code (eg: `#fff`). In nodes, you can also use [keywords from CSS](https://www.w3.org/wiki/CSS/Properties/color/keywords) like `orange`.
| category | type | description |
| :------- | :----: | :--------------------------------------- |
| name | string | color of logger name |
| date | string | color of date |
| debug | string | color when debug level and verbose level |
| info | string | color when info level |
| error | string | color when error level |
| warning | string | color when warning level |
#### Example
```js
const { Logger } = require("@tgsnake/log")
const log = new Logger({
name : "some-string-without-space-here",
level : ["debug"] // default level for this log,
customColor : {
debug: 'blue',
info: 'rgb(0,255,0)',
error: '#ff0505',
warning: 'hsv(44,98,100)',
name: 'azure',
date: 'grey',
}
})
```
## MIT LICENSE
Build with ♥️ by [tgsnake dev](https://t.me/tgsnakechat).