# Getting log levels from journalctl?

**URL:** <https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889>\
**Category:** General\
**Created:** [19 March 2021 14:55 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889 "2021-03-19T14:55:57Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![nzfarmer1](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/nzfarmer1/32/37190_2.png) [@nzfarmer1](https://discourse.nodered.org/u/nzfarmer1)\
**Post date:** [19 March 2021 14:55 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/1 "2021-03-19T14:55:57Z")

</div>

I'd like a custom logger that can prepend priority flags to systemd

i.e. if console.error("fubar")

I want to output:

\<3\>fubar

And so on for .debug, .warn, .info ... etc.

Has this been done? thanks

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [19 March 2021 16:33 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/2 "2021-03-19T16:33:15Z")

</div>

You can create your own custom logger in settings.js - see [Logging : Node-RED](https://nodered.org/docs/user-guide/runtime/logging)

---

<div class="post-metadata">

**Author:** ![nzfarmer1](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/nzfarmer1/32/37190_2.png) [@nzfarmer1](https://discourse.nodered.org/u/nzfarmer1)\
**Post date:** [19 March 2021 18:50 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/3 "2021-03-19T18:50:39Z")

</div>

Have you got an example of using this that supports different handlers for different priorities or does the priority get passed in? All the examples of it I've seen seem to override a single priority.

---

<div class="post-metadata">

**Author:** ![nzfarmer1](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/nzfarmer1/32/37190_2.png) [@nzfarmer1](https://discourse.nodered.org/u/nzfarmer1)\
**Post date:** [19 March 2021 19:13 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/4 "2021-03-19T19:13:44Z")

</div>

Ok. I crafted a custom logger, set it to trace, and sure enough I get the levels for the native nodered events.

For example:  
{  
level: 60,  
msg: 'Stopped node ui\_switch:5e963078.ac897 (232ms)',  
timestamp: 1616181045174  
}

However, for individual function nodes that call:  
console.error  
or  
console.warn

The log goes straight out to stdout using whatever default priority is in the service - there's no interception!

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [19 March 2021 19:22 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/5 "2021-03-19T19:22:47Z")

</div>

Try calling node.error etc instead

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [19 March 2021 19:24 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/6 "2021-03-19T19:24:02Z")

</div>

> [@nzfarmer1](#):
>
> However, for individual function nodes that call:  
> console.error  
> or  
> console.warn
> 
> The log goes straight out to stdout using whatever default priority is in the service - there's no interception!

Yes - using `console.log` etc bypasses the Node-RED logging framework and gets written straight to stdout regardless of how you have the loggers configured.

---

<div class="post-metadata">

**Author:** ![nzfarmer1](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/nzfarmer1/32/37190_2.png) [@nzfarmer1](https://discourse.nodered.org/u/nzfarmer1)\
**Post date:** [20 March 2021 01:23 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/7 "2021-03-20T01:23:14Z")

</div>

Thanks Nick,

I'll override with a hander in global. Something like:

const \_console ={  
\_combine : function(a) {  
return Array.prototype.join.call(a);  
},  
log :function(){  
console.log(this.\_combine(arguments));  
},  
error :function(){  
console.log("\<3\>",this.\_combine(arguments));  
},  
}

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [19 May 2021 01:23 UTC](https://discourse.nodered.org/t/getting-log-levels-from-journalctl/42889/8 "2021-05-19T01:23:49Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
