Как хранить нод-красные логи в локальном хранилище? - PullRequest
0 голосов
/ 08 января 2019

У меня настроен нод-красный в Raspbian, и я хочу хранить журналы, поступающие от нод-красного клиента, в каком-то месте, например, в файле .log.

Ответы [ 3 ]

0 голосов
/ 08 января 2019

Установка по умолчанию для Node-RED на raspbian настроит его как службу, и журналы уже будут отправлены в syslog.

Доступ к журналам можно получить с помощью инструмента node-red-log или с помощью команды journalctrl

.
0 голосов
/ 17 января 2019

Для того, чтобы хранить журналы узлов в системах дистрибутива Linux, просто выполните следующие шаги: -

  1. Создание пользовательской службы красного узла в / etc / systemd / system / Команда для создания файла .service nano /etc/systemd/system/node-red-custom.service

    [Unit]
    Description=Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways.
    After=syslog.target network.target
    Documentation=http://nodered.org/
    
    [Service]
    #Full Path to Node.js
    ExecStart=  /usr/bin/node-red
    WorkingDirectory=/root/node-red/
    # User/Group that launches node-RED (it's advised to create a new user for Node-RED)
    # You can do : sudo useradd node-red
    # then change the User=root by User=node-red
    User=root
    Group=root
    Nice=10
    #SyslogIdentifier=Node-RED
    SyslogIdentifier=node-red-custom
    StandardOutput=syslog
    StandardError=syslog
    # Make Node-RED restart if it fails
    Restart=on-failure
    # Node-RED need a SIGINT to be notified to stop
    KillSignal=SIGINT
    
    [Install]
    WantedBy=multi-user.target
    

    2.Создать конфигурационный файл, который указывает, где вы хотите хранить журналы

    nano /etc/rsyslog.d/node-red-custom.conf

    if $programname == 'node-red-custom' then /var/log/node-red-logs.log
    & stop
    

после создания этих двух файлов, пожалуйста, запустите следующие команды

sudo systemctl restart rsyslog
sudo systemctl enable node-red-custom.service
sudo systemctl start node-red-custom.service

Теперь ваша пользовательская служба красного узла начинает хранить журналы в / var / log / node-red-logs.log

Примечание: - Вы должны уничтожить работающую службу красного узла, прежде чем включать настраиваемую службу красного узла, как упомянуто выше.

0 голосов
/ 08 января 2019

Это можно сделать двумя способами.

  1. Напишите функцию регистрации для стандартного модуля регистрации. https://nodered.org/docs/user-guide/logging
  2. Используйте третий модуль node-red для записи в файл. Что-то вроде - https://flows.nodered.org/node/node-red-contrib-advance-logger
...