Если я попробую bunyan.createLogger, мое приложение не запустится и не выдаст ошибку
Если я пытаюсь использовать модуль Winston, у меня есть успех. Тем не менее, если я пытаюсь использовать bunyan, мое приложение не запускается и не показывает никакой ошибки (или я не знаю, как найти ошибку).
Я отлаживаю с помощью кода Visual Studio, хотя я не думаю, что это имеет отношение к этому вопросу.
Если мне просто нужен Уинстон, я не получаю ошибки. Проблема возникает, когда добавьте "bunyan.createLogger({name: "myapp"})", как показано ниже.
Мне не интересно сравнивать Буньяна с Уинстоном. Я, безусловно, заинтересован в использовании bunyan, если нет причины, как конфликт с другими модулями (я имею в виду другие требования, показанные ниже). Я только что упомянул здесь winston, потому что могу успешно его использовать, и я заметил, что winston не зависит от ".createLogger" (по крайней мере, примеры, которые я прочитал, никогда не используют ".createLogger" для winston и всегда показывают его для bunyan).
Что-то привлекло мое внимание, хотя я не знаю, связано ли это с этим делом, и я не знаю почему: я всегда устанавливаю зависимости, используя npm, устанавливаю "зависимость", потому что я хочу отслеживать все модули, используемые в моем проект в package.json. Немного странно, что я не вижу его после установки npm (см. Мой package.json ниже).
var express = require('express');
var bodyParser = require('body-parser');
var Client = require('node-rest-client').Client;
var bunyan = require('bunyan');
//var winston = require('winston');
var logBunyan = bunyan.createLogger({name: "myapp"});
//winston.log('info', 'Hello distributed log files!');
//winston.info('Hello again distributed logs');
...
package.json (здесь не должны появляться winston и bunyan, так как оба были установлены с "- save"?)
{
"name": "myapp",
"main": "server.js",
"dependencies": {
"body-parser": "^1.17.1",
"express": "^4.15.2",
"node-rest-client": "^3.0.3"
}
}
2 ответа
Добавьте в ваши package.json зависимости, например:
"bunyan": "^1.8.8"
и делать npm install
а затем запустите ваше приложение.
Пример app.js:
var bunyan = require('bunyan');
var log = bunyan.createLogger({name: "myapp"});
log.info("Hello!");
Проблема не была ни с Bunyan, ни с NodeJs вообще. Сегодня у меня есть похожая проблема с util.inspect. Всякий раз, когда в коде Visual Studio я доходил до линии с этим кодом, мой сервер падал без какой-либо полезной информации. Я попытался запустить прямо через Терминал (узел server.js) и увидел, что и util.inspect, и bunyan.createLogger работают, как и ожидалось. Я погрузился в такой сценарий (работает через терминал, но не работает с кодом Visual Studio) и внезапно осознаю, что существует определенный конфликт между версией TypeScript в коде Visual Studio и той, которая установлена в моем Debian. Я не собираюсь объяснять это лучшими аргументами, но это может помочь кому-то в таком же состоянии. Я сделал: 1 - скачать переносную версию кода Visual Studio вместо использования npm. Я заметил небольшое обновление, с версии 1.8 до 1.10 2 - я обновил в терминале, npm, nodejs и машинописном PS: если бы я уделил больше внимания, я бы легко понял это. Всякий раз, когда я запускал код VS, я получал "Несоответствие версий! Global tsc (1.7.5)!= Языковая служба кода VS (2.2.1). Могут возникать непоследовательные ошибки компиляции", и теперь такое сообщение заканчивается. Это исправило ошибку. Надеюсь, что это поможет некоторым будущим читателям.