(tags, data, channel = 'internal')
| 645 | } |
| 646 | |
| 647 | _log(tags, data, channel = 'internal') { |
| 648 | |
| 649 | if (!this.events.hasListeners('log')) { |
| 650 | return; |
| 651 | } |
| 652 | |
| 653 | if (!Array.isArray(tags)) { |
| 654 | tags = [tags]; |
| 655 | } |
| 656 | |
| 657 | const timestamp = Date.now(); |
| 658 | const field = data instanceof Error ? 'error' : 'data'; |
| 659 | |
| 660 | let event = { timestamp, tags, [field]: data, channel }; |
| 661 | |
| 662 | if (typeof data === 'function') { |
| 663 | event = () => ({ timestamp, tags, data: data(), channel }); |
| 664 | } |
| 665 | |
| 666 | this.events.emit({ name: 'log', tags, channel }, event); |
| 667 | } |
| 668 | }; |
| 669 | |
| 670 |
no test coverage detected