@juzi/wechaty
Version:
Wechaty is a RPA SDK for Chatbot Makers.
54 lines • 1.49 kB
JavaScript
import os from 'os';
import { log, } from '@juzi/wechaty-puppet';
import { VERSION, GIT_COMMIT_HASH, } from './config.js';
let raven;
let enabled = false;
function getRavenDsn() {
// const RAVEN_DSN = 'https://f6770399ee65459a82af82650231b22c:d8d11b283deb441e807079b8bb2c45cd@sentry.io/179672'
const dsn = process.env['WECHATY_RAVEN_DSN'];
return dsn;
}
function enableRaven(dsn) {
/**
* Raven.io
*/
const ravenOptions = {
release: VERSION,
tags: {
git_commit: GIT_COMMIT_HASH,
platform: process.env['WECHATY_DOCKER']
? 'docker'
: os.platform(),
},
};
raven.disableConsoleAlerts();
raven
.config(dsn, ravenOptions)
.install();
enabled = true;
}
async function init() {
try {
raven = await import('raven');
log.verbose('Wechaty', 'init() Raven enabled (import("raven") succeed)');
}
catch (e) {
// It's ok when there's no raven installed
log.verbose('Wechaty', 'init() Raven disabled (import("raven") failed)');
return;
}
const dsn = getRavenDsn();
if (!dsn) {
log.verbose('Wechaty', 'init() getRavenDsn() return undefined, skipped.');
return;
}
enableRaven(dsn);
}
function wechatyCaptureException(e) {
if (enabled) {
raven.captureException(e);
}
}
init().catch(console.error);
export { wechatyCaptureException, };
//# sourceMappingURL=raven.js.map