Skip to content

Commit c5ef47c

Browse files
committed
remove dotenv and fix log level
1 parent 1b0226b commit c5ef47c

15 files changed

Lines changed: 118 additions & 112 deletions

File tree

__tests__/services/transformer.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1744,7 +1744,6 @@ describe('service transformer', () => {
17441744
},
17451745
}
17461746
const resp = fromBaileysMessageContent(phoneNumer, input, { groupMessagesCloudFormat: true })[0]
1747-
console.log(JSON.stringify(resp))
17481747
// const from = resp.entry[0].changes[0].value.statuses[0].from
17491748
// const groupId = resp.entry[0].changes[0].value.statuses[0].group_id
17501749
const recipientType = resp.entry[0].changes[0].value.statuses[0].recipient_type

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@
8585
"audio2textjs": "^1.0.5",
8686
"awesome-phonenumber": "^6.8.0",
8787
"baileys": "npm:whaileys@6.4.3",
88-
"dotenv": "^16.4.5",
8988
"express": "^4.19.2",
9089
"i18n": "^0.15.1",
9190
"jimp": "^0.22.12",
@@ -96,8 +95,8 @@
9695
"node-fetch": "^2.7.0",
9796
"node-xlsx": "^0.24.0",
9897
"openai": "^5.13.1",
99-
"pino": "^7.0.0",
100-
"pino-pretty": "^13.1.1",
98+
"pino": "^10.1.0",
99+
"pino-pretty": "^13.1.2",
101100
"pino-roll": "^4.0.0",
102101
"qrcode": "^1.5.3",
103102
"qrcode-terminal": "^0.12.0",

src/bridge.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
import * as dotenv from 'dotenv'
2-
dotenv.config()
3-
41
import logger from './services/logger'
52
import { BindBridgeJob } from './jobs/bind_bridge'
63
import { SessionStoreRedis } from './services/session_store_redis'
74
import { SessionStore } from './services/session_store'
85
import { autoConnect } from './services/auto_connect'
9-
import { UNOAPI_QUEUE_BIND, UNOAPI_QUEUE_RELOAD, UNOAPI_QUEUE_LOGOUT, UNOAPI_SERVER_NAME, UNOAPI_EXCHANGE_BRIDGE_NAME } from './defaults'
106
import { amqpConsume } from './amqp'
117
import { startRedis } from './services/redis'
128
import { getConfig } from './services/config'
@@ -22,6 +18,13 @@ import { ReloadBaileys } from './services/reload_baileys'
2218
import { LogoutBaileys } from './services/logout_baileys'
2319
import { ReloadJob } from './jobs/reload'
2420
import { LogoutJob } from './jobs/logout'
21+
import {
22+
UNOAPI_QUEUE_BIND,
23+
UNOAPI_QUEUE_RELOAD,
24+
UNOAPI_QUEUE_LOGOUT,
25+
UNOAPI_SERVER_NAME,
26+
UNOAPI_EXCHANGE_BRIDGE_NAME
27+
} from './defaults'
2528

2629
const getConfigLocal: getConfig = getConfigRedis
2730
const outgoingAmqp: Outgoing = new OutgoingAmqp(getConfigLocal)

src/broker.ts

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,3 @@
1-
import * as dotenv from 'dotenv'
2-
dotenv.config()
3-
4-
import {
5-
UNOAPI_QUEUE_RELOAD,
6-
UNOAPI_SERVER_NAME,
7-
UNOAPI_QUEUE_MEDIA,
8-
UNOAPI_QUEUE_OUTGOING,
9-
UNOAPI_QUEUE_NOTIFICATION,
10-
UNOAPI_QUEUE_OUTGOING_PREFETCH,
11-
UNOAPI_QUEUE_BLACKLIST_ADD,
12-
NOTIFY_FAILED_MESSAGES,
13-
UNOAPI_EXCHANGE_BROKER_NAME,
14-
STATUS_FAILED_WEBHOOK_URL,
15-
UNOAPI_QUEUE_WEBHOOK_STATUS_FAILED,
16-
UNOAPI_QUEUE_TIMER,
17-
UNOAPI_QUEUE_TRANSCRIBER,
18-
UNOAPI_QUEUE_SPEECH,
19-
} from './defaults'
20-
211
import logger from './services/logger'
222
import { amqpConsume } from './amqp'
233
import { startRedis } from './services/redis'
@@ -40,6 +20,23 @@ import { TranscriberJob } from './jobs/transcriber'
4020
import { SpeecherJob } from './jobs/speecher'
4121
import { OutgoingAmqp } from './services/outgoing_amqp'
4222

23+
import {
24+
UNOAPI_QUEUE_RELOAD,
25+
UNOAPI_SERVER_NAME,
26+
UNOAPI_QUEUE_MEDIA,
27+
UNOAPI_QUEUE_OUTGOING,
28+
UNOAPI_QUEUE_NOTIFICATION,
29+
UNOAPI_QUEUE_OUTGOING_PREFETCH,
30+
UNOAPI_QUEUE_BLACKLIST_ADD,
31+
NOTIFY_FAILED_MESSAGES,
32+
UNOAPI_EXCHANGE_BROKER_NAME,
33+
STATUS_FAILED_WEBHOOK_URL,
34+
UNOAPI_QUEUE_WEBHOOK_STATUS_FAILED,
35+
UNOAPI_QUEUE_TIMER,
36+
UNOAPI_QUEUE_TRANSCRIBER,
37+
UNOAPI_QUEUE_SPEECH,
38+
} from './defaults'
39+
4340
const incomingAmqp: Incoming = new IncomingAmqp(getConfigRedis)
4441
const outgoingCloudApi: Outgoing = new OutgoingCloudApi(getConfigRedis, isInBlacklistInRedis, addToBlacklistRedis)
4542
const outgoingAmqp: Outgoing = new OutgoingAmqp(getConfigRedis)

src/bulker.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logger from './services/logger'
12
import { Outgoing } from './services/outgoing'
23
import { CommanderJob } from './jobs/commander'
34
import { BulkStatusJob } from './jobs/bulk_status'
@@ -6,6 +7,14 @@ import { BulkParserJob } from './jobs/bulk_parser'
67
import { BulkSenderJob } from './jobs/bulk_sender'
78
import { BulkReportJob } from './jobs/bulk_report'
89
import { OutgoingCloudApi } from './services/outgoing_cloud_api'
10+
import { amqpConsume } from './amqp'
11+
import { IncomingAmqp } from './services/incoming_amqp'
12+
import { getConfig } from './services/config'
13+
import { getConfigRedis } from './services/config_redis'
14+
import { Incoming } from './services/incoming'
15+
import { addToBlacklistRedis, isInBlacklistInRedis } from './services/blacklist'
16+
import { version } from '../package.json'
17+
import * as Sentry from '@sentry/node'
918
import {
1019
UNOAPI_QUEUE_BULK_PARSER,
1120
UNOAPI_QUEUE_BULK_SENDER,
@@ -15,16 +24,7 @@ import {
1524
UNOAPI_QUEUE_BULK_WEBHOOK,
1625
UNOAPI_EXCHANGE_BROKER_NAME,
1726
} from './defaults'
18-
import { amqpConsume } from './amqp'
19-
import { IncomingAmqp } from './services/incoming_amqp'
20-
import { getConfig } from './services/config'
21-
import { getConfigRedis } from './services/config_redis'
22-
import { Incoming } from './services/incoming'
23-
import logger from './services/logger'
24-
import { addToBlacklistRedis, isInBlacklistInRedis } from './services/blacklist'
25-
import { version } from '../package.json'
2627

27-
import * as Sentry from '@sentry/node'
2828
if (process.env.SENTRY_DSN) {
2929
Sentry.init({
3030
dsn: process.env.SENTRY_DSN,

src/cloud.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
import * as dotenv from 'dotenv'
2-
dotenv.config()
3-
4-
process.env.UNOAPI_CLOUD = 'true'
5-
61
import logger from './services/logger'
72
logger.info('Starting...')
83

src/defaults.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ export const OPENAI_API_SPEECH_MODEL = process.env.OPENAI_API_SPEECH_MODEL || 't
1313
export const OPENAI_API_SPEECH_VOICE = process.env.OPENAI_API_SPEECH_VOICE || 'alloy'
1414
export const UNOAPI_HEADER_NAME = process.env.UNOAPI_HEADER_NAME || 'Authorization'
1515

16-
export const LOG_LEVEL = process.env.LOG_LEVEL || (process.env.NODE_ENV == 'development' ? 'debug' : 'error')
17-
export const UNO_LOG_LEVEL = process.env.UNO_LOG_LEVEL || LOG_LEVEL
18-
export const UNOAPI_LOG_MODES = JSON.parse(process.env.UNOAPI_LOG_MODES || '["sysout"]')
19-
2016
export const DEFAULT_LOCALE = process.env.DEFAULT_LOCALE || 'en'
2117

2218
export const VALIDATE_MEDIA_LINK_BEFORE_SEND =

src/index.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import dotenv from 'dotenv'
2-
dotenv.config({ path: process.env.DOTENV_CONFIG_PATH || '.env' })
31

2+
import logger from './services/logger'
43
import { App } from './app'
54
import { IncomingBaileys } from './services/incoming_baileys'
65
import { Incoming } from './services/incoming'
@@ -15,16 +14,13 @@ import { onNewLoginAlert } from './services/on_new_login_alert'
1514
import { Broadcast } from './services/broadcast'
1615
import { isInBlacklistInMemory, addToBlacklistInMemory, addToBlacklistRedis } from './services/blacklist'
1716
import { version } from '../package.json'
18-
19-
import logger from './services/logger'
2017
import { Listener } from './services/listener'
2118
import { ListenerBaileys } from './services/listener_baileys'
22-
23-
import { BASE_URL, PORT } from './defaults'
2419
import { ReloadBaileys } from './services/reload_baileys'
2520
import { LogoutBaileys } from './services/logout_baileys'
26-
2721
import * as Sentry from '@sentry/node'
22+
import { BASE_URL, PORT } from './defaults'
23+
2824
if (process.env.SENTRY_DSN) {
2925
Sentry.init({
3026
dsn: process.env.SENTRY_DSN,

src/services/config_by_env.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import {
1717
WEBHOOK_URL,
1818
WEBHOOK_URL_ABSOLUTE,
1919
WEBHOOK_TOKEN,
20-
LOG_LEVEL,
2120
IGNORE_GROUP_MESSAGES,
2221
IGNORE_OWN_MESSAGES,
2322
IGNORE_BROADCAST_STATUSES,
@@ -63,11 +62,12 @@ import {
6362
OPENAI_API_SPEECH_VOICE,
6463
OPENAI_API_SPEECH_MODEL,
6564
} from '../defaults'
65+
import { logLevel } from './logger'
6666

6767
export const getConfigByEnv: getConfig = async (phone: string): Promise<Config> => {
6868
if (!configs.has(phone)) {
6969
const config: Config = { ...defaultConfig }
70-
config.logLevel = LOG_LEVEL as Level
70+
config.logLevel = logLevel as Level
7171
config.ignoreGroupMessages = IGNORE_GROUP_MESSAGES
7272
config.ignoreNewsletterMessages = IGNORE_NEWSLETTER_MESSAGES
7373
config.readOnReceipt = READ_ON_RECEIPT

src/services/logger.ts

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
11
import { pino } from 'pino'
22
import { join } from 'node:path'
3-
import { UNO_LOG_LEVEL, UNOAPI_LOG_MODES } from '../defaults'
4-
3+
import process from 'node:process'
54
class AppLogger {
6-
private static instance: pino.Logger;
5+
private static instance
6+
private static logLevel
77

88
private constructor() {}
99

10-
public static getInstance(): pino.Logger {
10+
public static getLogLevel() {
11+
return AppLogger.logLevel
12+
}
13+
14+
public static getInstance() {
1115
if (!AppLogger.instance) {
16+
try {
17+
process.loadEnvFile(process.env.DOTENV_CONFIG_PATH || './.env')
18+
} catch (_) {}
19+
AppLogger.logLevel = process.env.LOG_LEVEL || (process.env.NODE_ENV == 'development' ? 'debug' : 'error')
20+
const UNO_LOG_LEVEL = process.env.UNO_LOG_LEVEL || AppLogger.logLevel
21+
const UNOAPI_LOG_MODES = JSON.parse(process.env.UNOAPI_LOG_MODES || '["sysout"]')
22+
console.log('process.env.UNO_LOG_LEVEL', process.env.UNO_LOG_LEVEL)
23+
console.log('UNO_LOG_LEVEL', UNO_LOG_LEVEL)
1224
const targets: Record<string, any>[] = []
1325
if (UNOAPI_LOG_MODES.includes('sysout')) {
1426
targets.push({
1527
level: UNO_LOG_LEVEL,
1628
target: 'pino-pretty',
29+
minimumLevel: UNO_LOG_LEVEL,
1730
options: {
1831
colorize: true,
1932
ignore: 'pid,hostname',
@@ -38,11 +51,12 @@ class AppLogger {
3851
})
3952
}
4053
const transport = { targets } as any
41-
AppLogger.instance = pino({ timestamp: () => `,"time":"${new Date().toJSON()}"`, transport })
54+
AppLogger.instance = pino({ level: UNO_LOG_LEVEL, timestamp: () => `,"time":"${new Date().toJSON()}"`, transport })
4255
}
4356
return AppLogger.instance
4457
}
4558
}
4659

4760
const logger = AppLogger.getInstance()
61+
export const logLevel = AppLogger.getLogLevel()
4862
export default logger

0 commit comments

Comments
 (0)