@panosensing/logreporter
v1.0.3
Published
LogManager 有兩種記錄模式 1. 手動紀錄 / 手動傳送 自行產生 Log 型別的檔案,並手動call `LogManager.add, LogManager.sendAndAdd` 2. 自動記錄 / 自動傳送 使用ㄧ般的 `console.log, console.warn, console.error, console.info` 配合debug_mode自動使用
Downloads
4
Readme
install
npm i @panosensing/logreporter
使用說明
LogManager 有兩種記錄模式
- 手動紀錄 / 手動傳送
自行產生 Log 型別的檔案,並手動call
LogManager.add, LogManager.sendAndAdd
- 自動記錄 / 自動傳送
使用ㄧ般的
console.log, console.warn, console.error, console.info
配合debug_mode自動使用
api - Log
Static
- getIP : 取得用戶ip
- getBrowser : 取得用戶瀏覽器
- getDevice : 取得用戶裝置
- default : 需填入以下資訊
- app_name :
- TYPES : Log 種類
["general", "warn", "error", "info"]
- RequireKey : log 會保存以下資料
["app_name", "device", "browser", "user_name", "user_ip", "content", "type", "log_time"]
- app_name : 應用程式名稱
- device : 裝置名稱
- browser : 瀏覽器名稱
- user_name : 使用者身份別
- user_ip : 使用者ip
- content : 你平常打在console.log裡面的內容,這裡的格式限定為字串,並且必須標示[模組名稱]
ex :
console.log("[LogManager] log content")
- type : 必須是LOG_MODE其中一種,若不為則作廢 log模式
api - LogManager
- globalDebug : 更改模式
- debug_mode : debug模式
- supressAll : 是否要連同warn, error, info一起控管
- add : 在本地新增一筆log
- sendAndAdd : 在本地新增一筆Log也寄送給server
- download : 下載本地端保存的log
LOG_MODE (Log)
- TYPE_GENERAL = 0 ㄧ般
- TYPE_WARN = 1 警告
- TYPE_ERROR = 2 錯誤
- TYPE_INFO = 3 通知
Log.TYPE_GENERAL
Log.TYPE_WARN
Log.TYPE_ERROR
Log.TYPE_INFO
DEBUG_MODE (LogManager)
- MODE_SHOW_UNSEND = 1; 顯示但不寄送
- MODE_HIDE_UNSEND = 2; 不顯示不寄送
- MODE_SHOW_SEND = 3; 顯示也寄送
- MODE_HIDE_SEND = 4; 不顯示但寄送
Log.MODE_SHOW_UNSEND
Log.MODE_HIDE_UNSEND
Log.MODE_SHOW_SEND
Log.MODE_HIDE_SEND
Example Code
let debug_mode = LogManager.MODE_SHOW_SEND;
// MODE_SHOW_UNSEND = 1; 顯示但不寄送
// MODE_HIDE_UNSEND = 2; 不顯示不寄送
// MODE_SHOW_SEND = 3; 顯示也寄送
// MODE_HIDE_SEND = 4; 不顯示但寄送
//設定app 名稱, 使用者名稱, debug模式, 是否封印瀏覽器開發者工具
document.LogManager = new LogManager("test_app", "guest", debug_mode );
document.LogManager.globalDebug(LogManager.MODE_SHOW_UNSEND);//更改模式
//// 手動記錄模式
//// 1. LogManager.add(new Log)
//// 2. LogManager.sendAndAdd(new Log)
//本地端保存
document.LogManager.add(new Log({
app_name: 'test_app',
device: 'mobile',
browser: 'chrome',
user_name: "guest",
user_ip: "128.0.0.1",
content: "test_content",
type: 'general',
}))
//本地端保存 & 伺服器保存
document.LogManager.sendAndAdd(new Log({
app_name: 'test_app',
device: 'mobile',
browser: 'chrome',
user_name: "guest",
user_ip: "128.0.0.1",
content: "[test] test_content",
type: 'general',
}))
//// 自動記錄模式
//// 1. LogManager.add(new Log)
//// 2. LogManager.sendAndAdd(new Log)
console.log('[test module] log content');
console.warn('[test module] log content');
console.error('[test module] log content');
console.info('[test module] log content');
//下載所有紀錄檔
document.LogManager.download();