n8n/packages/cli
Omar Ajoue c972f3dd50
Added logging to n8n (#1381)
* Added logging to n8n

This commit adds logging to n8n using the Winston library.

For now, this commit only allows logging to console (default behavior)
or file (need to pass in config via environment variables).

Other logging methods can be further implemented using hooks. These were
skipped for now as it would require adding more dependencies.

Logging level is notice by default, meaning no additional messages would
be displayed at the moment. Logging level can be set to info or debug as
well to enrich the generated logs.

The ILogger interface was added to the workflow project as it would make
it available for all other projects but the implementation was done on
the cli project.

* Lint fixes and logging level naming. Also fixed the way we use the logger as it was not working previously

* Improvements to logging framework

Using appropriate single quotes
Improving the way the logger is declared

* Improved naming for Log Types

* Removed logger global variable, replacing it by a proxy

* Add logging to CLI commands

* Remove unused GenericHelpers

* Changed back some messages to console instead of logger and added npm
shortcuts for worker and webhook

* Fix typos

* Adding basic file rotation to logs as suggested by @mutdmour

* Fixed linting issues

* Correcting comment to correctly reflect space usage

* Added settings for log files rotation

* Correcting config type from String to Number

* Changed default file settings to number

To reflect previous changes to the type

* Changed the way log messages are added to be called statically. Also minor naming improvements

* Applying latest corrections sent by @ivov

*  Some logging improvements

* Saving logs to a folder inside n8n home instead of root

* Fixed broken tests and linting

* Changed some log messages to improve formatting

* Adding quotes to names  on log messages

* Added execution and session IDs to logs. Also removed unnecessary line breaks

*  Added file caller to log messages (#1657)

This is done using callsites library which already existed
in the project as another library's dependency. So in fact
it does not add any new dependency.

* Adding logs to help debug Salesforce node

*  Add function name to logs and add more logs

*  Improve some error messages

*  Improve some more log messages

*  Rename logging env variables to match others

Co-authored-by: dali <servfrdali@yahoo.fr>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-05-01 22:43:01 -05:00
..
bin 👕 Fix lint issue 2020-10-25 11:26:27 +01:00
commands Added logging to n8n (#1381) 2021-05-01 22:43:01 -05:00
config Added logging to n8n (#1381) 2021-05-01 22:43:01 -05:00
databases/sqlite Unify execution id + Queue system (#1340) 2021-02-09 08:59:32 +01:00
migrations 💥 Remove MongoDB support 2021-01-23 20:35:38 +01:00
packages/cli Migration configs, migration files, removed test queries 2020-04-29 11:34:12 +02:00
src Added logging to n8n (#1381) 2021-05-01 22:43:01 -05:00
templates Adjustions for utilizing an external OAuth Hook (#945) 2020-09-11 12:15:06 +02:00
test 📚 Update development cycle documentation and add placeholder tests 2019-08-14 13:45:18 +02:00
BREAKING-CHANGES.md Fix breaking changes files 2021-04-30 21:14:07 -05:00
LICENSE.md 📚 License text fix 2020-09-15 07:55:09 +02:00
nodemon.json Revert "🔀 Merge branch 'oauth-support' of https://github.com/tildabio/n8n" 2020-01-10 14:26:06 -06:00
package.json Added logging to n8n (#1381) 2021-05-01 22:43:01 -05:00
README.md 🎨 update wordings to distinct distribution model to it's license (#1220) 2020-12-15 10:50:52 +01:00
tsconfig.json 🐛 Fix issue that reading version caused problems with build 2019-09-19 13:21:10 +02:00
tslint.json 👕 Fix lint issue 2020-10-22 15:46:03 +02:00

n8n - Workflow Automation Tool

n8n.io - Workflow Automation

n8n is a free and open fair-code distributed node based Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools.

n8n.io - Screenshot

Contents

Demo

📺 A short demo (< 3 min) which shows how to create a simple workflow which automatically sends a new Slack notification every time a Github repository received or lost a star.

Available integrations

n8n has 200+ different nodes to automate workflows. The list can be found on: https://n8n.io/nodes

Documentation

The official n8n documentation can be found under: https://docs.n8n.io

Additional information and example workflows on the n8n.io website: https://n8n.io

Create Custom Nodes

It is very easy to create own nodes for n8n. More information about that can be found in the documentation of "n8n-node-dev" which is a small CLI which helps with n8n-node-development.

To n8n-node-dev

Additional information can be found on the documentation page.

Hosted n8n

If you are interested in a hosted version of n8n on our infrastructure please contact us via: hosting@n8n.io

What does n8n mean and how do you pronounce it?

Short answer: It means "nodemation" and it is pronounced as n-eight-n.

Long answer: I get that question quite often (more often than I expected) so I decided it is probably best to answer it here. While looking for a good name for the project with a free domain I realized very quickly that all the good ones I could think of were already taken. So, in the end, I chose nodemation. "node-" in the sense that it uses a Node-View and that it uses Node.js and "-mation" for "automation" which is what the project is supposed to help with. However, I did not like how long the name was and I could not imagine writing something that long every time in the CLI. That is when I then ended up on "n8n". Sure does not work perfectly but does neither for Kubernetes (k8s) and did not hear anybody complain there. So I guess it should be ok.

Support

If you have problems or questions go to our forum, we will then try to help you asap:

https://community.n8n.io

Jobs

If you are interested in working for n8n and so shape the future of the project check out our job posts:

https://n8n.join.com

Upgrading

Before you upgrade to the latest version make sure to check here if there are any breaking changes which concern you: Breaking Changes

License

n8n is fair-code distributed under Apache 2.0 with Commons Clause license

Additional information about license can be found in the FAQ

Development

Have you found a bug 🐛 ? Or maybe you have a nice feature to contribute ? The CONTRIBUTING guide will help you get your development environment ready in minutes.