mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-07-02 18:11:36 +00:00
002050f35b
* fix: Reduce MQTT publishing by excluding debug logging from `bridge/logging` * fix tests * fix
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
let level = 'info';
|
|
|
|
let transports = [];
|
|
|
|
let transportsEnabled = false;
|
|
const callTransports = (level, message, namespace) => {
|
|
if (transportsEnabled) {
|
|
for (const transport of transports) {
|
|
transport.log({level, message, namespace}, () => {});
|
|
}
|
|
}
|
|
}
|
|
|
|
const mock = {
|
|
init: jest.fn(),
|
|
info: jest.fn().mockImplementation((msg) => callTransports('info', msg)),
|
|
warning: jest.fn().mockImplementation((msg) => callTransports('warning', msg)),
|
|
error: jest.fn().mockImplementation((msg) => callTransports('error', msg)),
|
|
debug: jest.fn().mockImplementation((msg) => callTransports('debug', msg)),
|
|
cleanup: jest.fn(),
|
|
logOutput: jest.fn(),
|
|
add: (transport) => transports.push(transport),
|
|
addTransport: (transport) => transports.push(transport),
|
|
removeTransport: (transport) => {
|
|
transports = transports.filter((t) => t !== transport);
|
|
},
|
|
setLevel: (newLevel) => {level = newLevel},
|
|
getLevel: () => level,
|
|
setTransportsEnabled: (value) => {transportsEnabled = value},
|
|
end: jest.fn(),
|
|
};
|
|
|
|
jest.mock('../../lib/util/logger', () => (mock));
|
|
|
|
module.exports = {...mock};
|