# Node-red-log Data Export

**URL:** <https://discourse.nodered.org/t/node-red-log-data-export/16168>\
**Category:** General\
**Created:** [1 October 2019 19:14 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168 "2019-10-01T19:14:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 19:14 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/1 "2019-10-01T19:14:09Z")

</div>

How do I pull data from the msg.payload: string. See below for the Data. I need to separate Address and value as a single message and deviceid as a secound message.

msg : Object  
object  
payload: string  
deviceId----------\> 55  
maxApdu----------\> 1476  
segmentation----------\> 0  
vendorId----------\> 7  
object type----------\> 7  
vendorId----------\> 7  
pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/node-red-log 1  
pam\_unix(sudo:session): session opened for user root by (uid=0)  
root : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -f -n 25 -u nodered -o cat  
pam\_unix(sudo:session): session opened for user root by (uid=0)  
1 Oct 14:08:37 - [info] Stopping flows  
1 Oct 14:08:37 - [info] Stopped flows  
1 Oct 14:08:37 - [info] Starting flows  
1 Oct 14:08:39 - [info] Started flows  
address----------\> 192.168.251.55  
deviceId----------\> 55  
maxApdu----------\> 1476  
segmentation----------\> 0  
vendorId----------\> 7  
object type----------\> 7  
vendorId----------\> 7  
pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/node-red-log 1  
pam\_unix(sudo:session): session opened for user root by (uid=0)  
root : TTY=unknown ; PWD=/home/pi ; ...  
socketid: "7E5dLH4WdG\_0NLzKAAAA"  
\_msgid: "1967fb07.660f45"

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 19:15 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/2 "2019-10-01T19:15:25Z")

</div>

```auto
[{"id":"3e21ca48.bc8856","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"ed77903a.c80f6","type":"function","z":"3e21ca48.bc8856","name":"","func":"//var msg = {};\nconst bacnet1 = global.get('bacnet');\n// Initialize BACStack\nvar client = bacnet1({adpuTimeout: 6000});\n\nclient.whoIs();\n\nclient.on('iAm', (device) => {\n console.log('address: ', device.address, ' - deviceId: ', device.deviceId, ' - maxAdpu: ', device.maxAdpu, ' - segmentation: ', device.segmentation, ' - vendorId: ', device.vendorId);\n});\n","outputs":1,"noerr":0,"x":450,"y":300,"wires":[["b11cacc4.e421a"]]},{"id":"b11cacc4.e421a","type":"debug","z":"3e21ca48.bc8856","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":670,"y":240,"wires":[]},{"id":"35eea2d3.d571be","type":"ui_button","z":"3e21ca48.bc8856","name":"","group":"4eb4d82b.900068","order":1,"width":0,"height":0,"passthru":false,"label":"BACnet Whois T","tooltip":"","color":"red","bgcolor":"","icon":"","payload":"1","payloadType":"num","topic":"","x":220,"y":300,"wires":[["ed77903a.c80f6","66650a75.6851e4"]]},{"id":"6ee62fd4.b9e13","type":"ui_text","z":"3e21ca48.bc8856","group":"4eb4d82b.900068","order":3,"width":"10","height":"21","name":"Whois results","label":"Whois results T","format":"{{msg.payload}}","layout":"col-center","x":1160,"y":360,"wires":[]},{"id":"32e450d4.a6fc4","type":"exec","z":"3e21ca48.bc8856","command":"sudo node-red-log ","addpay":true,"append":"","useSpawn":"true","timer":"","oldrc":false,"name":"Whois results","x":660,"y":420,"wires":[["d0c50508.b826d8","db3e4132.31dbe"],[],[]]},{"id":"66650a75.6851e4","type":"delay","z":"3e21ca48.bc8856","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":460,"y":420,"wires":[["32e450d4.a6fc4"]]},{"id":"d0c50508.b826d8","type":"debug","z":"3e21ca48.bc8856","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":830,"y":300,"wires":[]},{"id":"a5ac1c26.72e45","type":"debug","z":"3e21ca48.bc8856","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1150,"y":420,"wires":[]},{"id":"e794f126.14103","type":"ui_button","z":"3e21ca48.bc8856","name":"","group":"4eb4d82b.900068","order":2,"width":0,"height":0,"passthru":false,"label":"Clear Results T","tooltip":"","color":"red","bgcolor":"","icon":"","payload":"Results Cleared","payloadType":"str","topic":"","x":220,"y":360,"wires":[["6ee62fd4.b9e13"]]},{"id":"db3e4132.31dbe","type":"sort","z":"3e21ca48.bc8856","name":"","order":"ascending","as_num":true,"target":"payload","targetType":"msg","msgKey":"","msgKeyType":"elem","seqKey":"payload","seqKeyType":"msg","x":930,"y":420,"wires":[["a5ac1c26.72e45"]]},{"id":"4eb4d82b.900068","type":"ui_group","z":"","name":"Whois","tab":"99082a6.ab01ed8","order":1,"disp":true,"width":10,"collapse":true},{"id":"99082a6.ab01ed8","type":"ui_tab","z":"","name":"Testing","icon":"dashboard","disabled":false,"hidden":false}]

```

---

<div class="post-metadata">

**Author:** ![ukmoose](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ukmoose/32/13_2.png) [@ukmoose](https://discourse.nodered.org/u/ukmoose)\
**Post date:** [1 October 2019 19:29 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/3 "2019-10-01T19:29:35Z")

</div>

Unfortunately your flow isn't currently importable.Please read the following post [How to share code or flow json](https://discourse.nodered.org/t/how-to-share-code-or-flow-json/506) and then edit the above message.

But take a look at the javascript split command [https://www.w3schools.com/jsref/jsref\_split.asp](https://www.w3schools.com/jsref/jsref_split.asp)

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 20:27 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/4 "2019-10-01T20:27:39Z")

</div>

Does the above help?

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 20:28 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/5 "2019-10-01T20:28:36Z")

</div>

Could you read the post @ukmoose linked to and edit your post and retry

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 20:31 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/6 "2019-10-01T20:31:00Z")

</div>

Fixed. Sorry about that.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 20:35 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/7 "2019-10-01T20:35:44Z")

</div>

Ok we cannot run your flow as we don't have your equipment/nodes (bacnet)

But you are using `console.log` - does this work ? Recommended is `node.log("x");`  
Next you are using `sudo` in your exec node - does that work ?

Can you paste a browser debug output here ?

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 20:51 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/8 "2019-10-01T20:51:04Z")

</div>

Everything works great. the output from my Exec node is below. the information from the output has the data I want.  
node.log broke the flows it keeps restarting when trying that route.

this information is what Iwant "address: 192.168.251.55 - deviceId: 55 - maxAdpu: undefined - segmentation: 0 - vendorId: 7"

msg : Object  
object  
payload: string  
1 Oct 15:32:52 - [info] Starting flows  
1 Oct 15:32:53 - [info] Started flows  
address: 192.168.251.55 - deviceId: 55 - maxAdpu: undefined - segmentation: 0 - vendorId: 7  
pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/node-red-log 1  
pam\_unix(sudo:session): session opened for user root by (uid=0)  
root : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -f -n 25 -u nodered -o cat  
pam\_unix(sudo:session): session opened for user root by (uid=0)  
1 Oct 15:36:44 - [info] Stopping flows  
1 Oct 15:36:44 - [info] Stopped flows  
1 Oct 15:36:44 - [info] Starting flows  
1 Oct 15:36:45 - [info] Started flows  
address: 192.168.251.55 - deviceId: 55 - maxAdpu: undefined - segmentation: 0 - vendorId: 7  
pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/node-red-log 1  
pam\_unix(sudo:session): session opened for user root by (uid=0)  
root : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -f -n 25 -u nodered -o cat  
p...  
socketid: "7E5dLH4WdG\_0NLzKAAAA"  
\_msgid: "fdb55694.42c2b8"

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 20:54 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/9 "2019-10-01T20:54:13Z")

</div>

I would love the output to be msg.Address = value, msg.Deviceid = value and so fourth.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 21:12 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/10 "2019-10-01T21:12:05Z")

</div>

This is not the output from the browser but from the console.

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 21:18 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/11 "2019-10-01T21:18:37Z")

</div>

correct, I do not have an output from a browser. I am sorry if I am misunderstanding what you are wanting.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 21:34 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/12 "2019-10-01T21:34:33Z")

</div>

Where does the data come from ? It is a node right ?  
Then you can connect a debug node.

Does it output a string, an array, an object ?

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 21:37 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/13 "2019-10-01T21:37:11Z")

</div>

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/2X/e/eb34a758daf8b04f14bd0da51d8eb097aa3871db.png)

I hope this helps the data after I press the button is to the right. From that data i want to extract only Address and DeviceID and the values next to them.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 21:38 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/14 "2019-10-01T21:38:17Z")

</div>

And now in text please, so that we can possibly help parsing it. and enclose it in ```

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 21:39 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/15 "2019-10-01T21:39:47Z")

</div>

```auto
root : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -f -n 25 -u nodered -o catpam_unix(sudo:session): session opened for user root by (uid=0)1 Oct 16:30:30 - [info] Stopping flows1 Oct 16:30:30 - [info] Stopped flows1 Oct 16:30:30 - [info] Starting flows1 Oct 16:30:32 - [info] Started flowsaddress: 192.168.251.55 - deviceId: 55 - maxAdpu: undefined - segmentation: 0 - vendorId: 7 pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/node-red-log 1pam_unix(sudo:session): session opened for user root by (uid=0) root : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -f -n 25 -u nodered -o catpam_unix(sudo:session): session opened for user root by (uid=0)address: 192.168.251.55 - deviceId: 55 - maxAdpu: undefined - segmentation: 0 - vendorId: 7 pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/node-red-log 1pam_unix(sudo:session): session opened for user root by (uid=0) root : TTY...

```

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 21:46 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/16 "2019-10-01T21:46:04Z")

</div>

> and enclose it in ```

Else the formatting is gone (ie: like you did before)

But i am confused why you want to read the node-red-log, don't you get this information from the nodes you are using ?

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [1 October 2019 22:01 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/17 "2019-10-01T22:01:13Z")

</div>

I am not using any nodes to get the data. I have a function that runs the Whois that writes the data to the console.  
I have the Exe node that pulls the data from the console.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 October 2019 22:05 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/18 "2019-10-01T22:05:10Z")

</div>

So why do you need to read the log as you already have it in a function ?  
Sorry I am really confused.

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [1 October 2019 22:13 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/19 "2019-10-01T22:13:50Z")

</div>

send the data to a split node and split it on a new line  
feed that output to a switch and set a 'contans' and use 'address'  
feed that to a split node that splits on a dash ("-")  
feed that into a switch node with two conditions - both using 'contains' the first checks for "address" and the second checks for "deviceId"

and you have what you are looking for.

---

<div class="post-metadata">

**Author:** ![Navybrandon](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/navybrandon/32/13021_2.png) [@Navybrandon](https://discourse.nodered.org/u/Navybrandon)\
**Post date:** [2 October 2019 13:21 UTC](https://discourse.nodered.org/t/node-red-log-data-export/16168/20 "2019-10-02T13:21:44Z")

</div>

@zenofmud Thank you so much! I used the split before and the split but didn't think to combine the 2 to get what I needed!
