Czy istnieje biblioteka, która pomoże mi w obsłudze logowania w mojej aplikacji Node.Js? Chcę tylko zapisać wszystkie dzienniki do pliku, a także potrzebuję opcji, takich jak rozwijanie pliku po określonym rozmiarze lub dacie.
Włączyłem log4js im, starając się zachować wszystkie szczegóły konfiguracji w jednym pliku i używać tylko metod w innych plikach aplikacji, aby ułatwić konserwację. Ale to nie działa zgodnie z oczekiwaniami. Oto, co próbuję zrobić
var log4js = require('log4js');
log4js.clearAppenders()
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('test.log'), 'test');
var logger = log4js.getLogger('test');
logger.setLevel('ERROR');
var traceLogger = function (message) {
logger.trace('message');
};
var errorLogger = function (message) {
logger.trace(message);
};
exports.trace = traceLogger;
exports.error = errorLogger;
Umieściłem ten plik w innych plikach i próbowałem
log.error ("Hello Error Message");
Ale to nie działa. Czy jest w tym coś złego?
Odpowiedzi:
Winston to całkiem niezła biblioteka do logowania. Możesz za jego pomocą zapisywać logi do pliku.
Kod wyglądałby mniej więcej tak:
Możesz wtedy użyć tego w następujący sposób:
źródło
Lekki rejestrator Scribe.JS
Przejrzałem wiele rejestratorów i nie mogłem znaleźć lekkiego rozwiązania - więc zdecydowałem się zrobić proste rozwiązanie, które jest zamieszczone na githubie.
Mam nadzieję, że to ci pomoże.
Demo online
http://bluejamesbond.github.io/Scribe.js/
Bezpieczny dostęp sieciowy do dzienników
Również drukuje ładny tekst na konsoli!
Dostęp do sieci
Github
https://github.com/bluejamesbond/Scribe.js
źródło
Log4js to jedna z najpopularniejszych bibliotek logujących dla aplikacji nodejs.
Obsługuje wiele fajnych funkcji:
Przykład:
Instalacja:
npm install log4js
Konfiguracja (
./config/log4js.json
):Stosowanie:
źródło
Możesz także użyć npmlog firmy issacs, zalecane w https://npmjs.org/doc/coding-style.html .
Możesz znaleźć ten moduł tutaj https://github.com/isaacs/npmlog
źródło
The "logger.setLevel ('ERROR');" powoduje problem. Nie rozumiem dlaczego, ale kiedy ustawię coś innego niż „WSZYSTKO”, nic nie zostanie wydrukowane w pliku. Poszperałem trochę i zmodyfikowałem twój kod. U mnie działa dobrze. Utworzyłem dwa pliki.
logger.js
logger.test.js
Gdy uruchamiam „node logger.test.js”, widzę tylko „komunikat o błędzie” w pliku test.log. Jeśli zmienię poziom na „TRACE”, obie linie zostaną wydrukowane na test.log.
źródło
Winston to dobry wybór dla większości programistów. Używam Winstona od dawna. Ostatnio użyłem winston z papertrail, który przenosi logowanie aplikacji na wyższy poziom.
Oto ładny zrzut ekranu z ich strony.
Jak to jest przydatne
możesz zarządzać logami z różnych systemów w jednym miejscu. może to być bardzo przydatne, gdy komunikujesz się z dwoma backendami i widzisz dzienniki z obu na miejscu.
Dzienniki są aktywne. możesz wyświetlać dzienniki w czasie rzeczywistym z serwera produkcyjnego.
Zaawansowane wyszukiwanie i filtrowanie
możesz tworzyć alerty, aby wysyłać Ci e-maile, jeśli napotkasz określony tekst w dzienniku.
i możesz znaleźć więcej http://help.papertrailapp.com/kb/how-it-works/event-viewer/
Prostej konfiguracji za pomocą
winston
,winston-express
awinston-papertrail
moduły węzła.Mam nadzieję, że pomoże to komuś w zarządzaniu dziennikami !!
źródło
Do prostego logowania można użyć modułu „nodejslogger”. Posiada trzy poziomy logowania (INFO, ERROR, DEBUG)
D: debugowanie, I: informacje, E: błąd
Dostęp do modułu można uzyskać pod adresem : https://www.npmjs.com/package/nodejslogger
źródło
Zauważ, że errorLogger jest opakowaniem otaczającym logger.trace . Ale poziom loggera jest ERROR, więc logger.trace nie zarejestruje swojej wiadomości do appenders loggera .
Poprawka polega na zmianie logger.trace na logger.error w treści errorLogger .
źródło