{"id":15013420,"url":"https://github.com/veliovgroup/meteor-logger-console","last_synced_at":"2025-09-01T20:07:25.532Z","repository":{"id":27254105,"uuid":"30726488","full_name":"veliovgroup/Meteor-logger-console","owner":"veliovgroup","description":"🖥 Meteor Logging: Print Client's log messages into Server's console with nice highlighting","archived":false,"fork":false,"pushed_at":"2022-06-03T07:57:08.000Z","size":227,"stargazers_count":21,"open_issues_count":1,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-20T17:13:17.459Z","etag":null,"topics":["console","javascript","logger","logging","logging-library","logs","meteor","meteor-package","meteorjs"],"latest_commit_sha":null,"homepage":"https://atmospherejs.com/ostrio/loggerconsole","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veliovgroup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"dr-dimitru","custom":"https://paypal.me/veliovgroup"}},"created_at":"2015-02-12T22:07:00.000Z","updated_at":"2024-08-18T09:36:58.000Z","dependencies_parsed_at":"2022-09-01T19:01:05.438Z","dependency_job_id":null,"html_url":"https://github.com/veliovgroup/Meteor-logger-console","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veliovgroup%2FMeteor-logger-console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veliovgroup%2FMeteor-logger-console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veliovgroup%2FMeteor-logger-console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veliovgroup%2FMeteor-logger-console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veliovgroup","download_url":"https://codeload.github.com/veliovgroup/Meteor-logger-console/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239918777,"owners_count":19718403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console","javascript","logger","logging","logging-library","logs","meteor","meteor-package","meteorjs"],"created_at":"2024-09-24T19:44:15.751Z","updated_at":"2025-02-20T21:30:56.125Z","avatar_url":"https://github.com/veliovgroup.png","language":"JavaScript","funding_links":["https://github.com/sponsors/dr-dimitru","https://paypal.me/veliovgroup"],"categories":[],"sub_categories":[],"readme":"[![support](https://img.shields.io/badge/support-GitHub-white)](https://github.com/sponsors/dr-dimitru)\n[![support](https://img.shields.io/badge/support-PayPal-white)](https://paypal.me/veliovgroup)\n\u003ca href=\"https://ostr.io/info/built-by-developers-for-developers\"\u003e\n  \u003cimg src=\"https://ostr.io/apple-touch-icon-60x60.png\" height=\"20\"\u003e\n\u003c/a\u003e\n\n# Logging: To Console\n\n*Console* adapter for [logger driver](https://github.com/veliovgroup/Meteor-logger). Print Client's log messages to Server's console package. All messages is enhanced with colors and extra styles for better readability.\n\nThis package is not limited to transferring *Client* log messages to Server. It can be used on *Client* or *Server* only, or for printing colorized messages.\n\nFeatures:\n\n- 💪 Flexible log level filters;\n- 👨‍💻 `userId` is automatically passed and logged, data is associated with logged-in user;\n- 📟 Pass logs from *Client* right to *Server*'s console;\n- 🕷 Catch all browser's errors and exceptions.\n\n## Screen shots:\n\nServer:\n![server example](https://raw.githubusercontent.com/veliovgroup/Meteor-logger-console/master/server.png)\n\nClient:\n![client example](https://raw.githubusercontent.com/veliovgroup/Meteor-logger-console/master/client.png)\n\n## Installation:\n\n```shell\nmeteor add ostrio:logger # If not yet installed\nmeteor add ostrio:loggerconsole\n```\n\n## ES6 Import:\n\n```js\nimport { Logger } from 'meteor/ostrio:logger';\nimport { LoggerConsole } from 'meteor/ostrio:loggerconsole';\n```\n\n## Usage\n\nInitialize `LoggerConsole` instance passing `LoggerInstance` as a first argument into constructor to enable logging into the console.\n\n### Initialization [*Isomorphic*]\n\n`new LoggerConsole(LoggerInstance, settings)`\n\n- `LoggerInstance` {*Logger*} - from `new Logger()`\n- `settings` {*Object*}\n- `settings.highlight` {*Boolean*} - Enable/Disable color highlighting; By default: `true`\n- `settings.format` {*Function*} - This function must return *String*. Arguments:\n  - `opts` {*Object*}\n  - `opts.userId` {*String*}\n  - `opts.time` {*Date*} - Report date\n  - `opts.level` {*String*} - Message level, one of: `ERROR`, `FATAL`, `WARN`, `DEBUG`, `INFO`, `TRACE`, `LOG`, `*`\n  - `opts.message` {*String*} - Report message\n  - `opts.data` {*Object*} - Additional info passed as object\n\n#### Example: [*Isomorphic*]\n\n```js\nimport { Logger } from 'meteor/ostrio:logger';\nimport { LoggerConsole } from 'meteor/ostrio:loggerconsole';\n\n// Initialize Logger:\nconst log = new Logger();\n// Initialize and enable LoggerConsole with default settings:\n(new LoggerConsole(log)).enable();\n\n// Initialize and enable LoggerConsole with custom formatting:\n(new LoggerConsole(log, {\n  format(opts) {\n    return ((Meteor.isServer) ? '[SERVER]' : '[CLIENT]') + ' [' + opts.level + '] - ' + opts.message;\n  }\n})).enable();\n```\n\n### Activate with custom adapter settings: [*Isomorphic*]\n\n```js\nimport { Logger } from 'meteor/ostrio:logger';\nimport { LoggerConsole } from 'meteor/ostrio:loggerconsole';\n\nconst log = new Logger();\n(new LoggerConsole(log)).enable({\n  enable: true,\n  filter: ['ERROR', 'FATAL', 'WARN'], /* Filters: 'ERROR', 'FATAL', 'WARN', 'DEBUG', 'INFO', 'TRACE', '*' */\n  client: true, // Set to `false` to avoid log transfer from Client to Server\n  server: true  // Set to `false` to disallow execution on Server\n});\n```\n\n#### Log message: [*Isomorphic*]\n\n```js\nimport { Logger } from 'meteor/ostrio:logger';\nimport { LoggerConsole } from 'meteor/ostrio:loggerconsole';\n\nconst log = new Logger();\n(new LoggerConsole(log)).enable();\n\n/*\n  message {String} - Any text message\n  data    {Object} - [optional] Any additional info as object\n  userId  {String} - [optional] Current user id\n */\nlog.info(message, data, userId);\nlog.debug(message, data, userId);\nlog.error(message, data, userId);\nlog.fatal(message, data, userId);\nlog.warn(message, data, userId);\nlog.trace(message, data, userId);\nlog._(message, data, userId); // Shortcut\n\n// Use with throw\nthrow log.error(message, data, usmerId);\n```\n\n### Catch-all Client's errors example: [*Client*]\n\n```js\n/* Store original window.onerror */\nconst _GlobalErrorHandler = window.onerror;\n\nwindow.onerror = function (msg, url, line) {\n  log.error(msg, {file: url, onLine: line});\n  if (_GlobalErrorHandler) {\n    _GlobalErrorHandler.apply(this, arguments);\n  }\n};\n```\n\n### Catch-all Server's errors example: [*Server*]\n\n```js\nconst bound = Meteor.bindEnvironment((callback) =\u003e {callback();});\nprocess.on('uncaughtException', function (err) {\n  bound(() =\u003e {\n    log.error('Server Crashed!', err);\n    console.error(err.stack);\n    process.exit(7);\n  });\n});\n```\n\n### Catch-all Meteor's errors example: [*Server*]\n\n```js\n// store original Meteor error\nconst originalMeteorDebug = Meteor._debug;\nMeteor._debug = function (message, stack) {\n  const error = new Error(message);\n  error.stack = stack;\n  log.error('Meteor Error!', error);\n  return originalMeteorDebug.apply(this, arguments);\n};\n```\n\n### Use multiple logger(s) with different settings: [*Isomorphic*]\n\n```js\nconst log1 = new Logger();\nconst log2 = new Logger();\n\n(new LoggerConsole(log1)).enable({\n  filter: ['*'],\n  client: true,\n  server: true\n});\n\n(new LoggerConsole(log2)).enable({\n  filter: ['ERROR', 'FATAL'],\n  client: true,\n  server: true\n});\n```\n\n## Running Tests\n\n1. Clone this package\n2. In Terminal (*Console*) go to directory where package is cloned\n3. Then run:\n\n### Meteor/Tinytest\n\n```shell\nmeteor test-packages ./\n```\n\n## Support this awesome package:\n\n- Star on [GitHub](https://github.com/veliovgroup/Meteor-logger-console)\n- Star on [Atmosphere](https://atmospherejs.com/ostrio/loggerconsole)\n- [Tweet](https://twitter.com/share?url=https://github.com/veliovgroup/Meteor-logger-console\u0026text=Print%20colorful%20log%20messages%20and%20send%20Client's%20logs%20to%20Server's%20console%20%23meteorjs%20%23javascript%20via%20%40veliovgroup)\n- Share on [Facebook](https://www.facebook.com/sharer.php?u=https://github.com/veliovgroup/Meteor-logger-console)\n\n## Support our open source contribution:\n\n- [Sponsor via GitHub](https://github.com/sponsors/dr-dimitru)\n- [Support via PayPal](https://paypal.me/veliovgroup)\n- Use [ostr.io](https://ostr.io) — [Monitoring](https://snmp-monitoring.com), [Analytics](https://ostr.io/info/web-analytics), [WebSec](https://domain-protection.info), [Web-CRON](https://web-cron.info) and [Pre-rendering](https://prerendering.com) for a website\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveliovgroup%2Fmeteor-logger-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveliovgroup%2Fmeteor-logger-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveliovgroup%2Fmeteor-logger-console/lists"}