Nie mogę zalogować się do Morgana. Nie rejestruje informacji w konsoli. Dokumentacja nie mówi, jak go używać.
Chcę zobaczyć, czym jest zmienna. To jest kod z response.js
pliku frameworka expressjs:
var logger = require("morgan");
res.render = function(view, options, fn){
options = options || {};
var self = this;
var req = this.req;
var app = req.app;
// support callback function as second arg
if ('function' == typeof options) {
fn = options, options = {};
}
// merge res.locals
options._locals = self.locals;
// default callback to respond
fn = fn || function(err, str){
if (err) return req.next(err);
self.send(str);
};
// Here I want to see what fn is
// But it doesn't show me anything in console
// How to use it?
logger(fn);
// render
app.render(view, options, fn);
};
Jak używać Morgana?
console.log()
używać biblioteki Debug, możesz używać biblioteki Debug w dowolnym miejscu kodu i nie musisz się martwić o usunięcie jej w środowisku produkcyjnym. github.com/visionmedia/debugMiałem ten sam problem wcześniej i zamiast tego użyłem winstona. Jak wspomniano powyżej, morgan służy do automatycznego rejestrowania żądań / odpowiedzi. Winston można skonfigurować prawie tak samo, jak log4Net / log4J, ma poziomy ważności, różne strumienie, do których można się logować itp.
Na przykład:
npm install winston
Następnie, jeśli wywołasz poniższy kod gdzieś podczas inicjalizacji aplikacji:
uwaga: przed wywołaniem powyższego kodu winston.loggers jest pusty, tzn. nie masz jeszcze skonfigurowanych żadnych loggerów. Prawie jak metody Log4Net / J XmlConfigure - musisz je najpierw wywołać, aby zainicjować logowanie.
Następnie, gdziekolwiek w kodzie po stronie serwera aplikacji możesz zrobić:
Mam nadzieję, że to pomoże.
dalsze odniesienia do dokumentacji: https://www.npmjs.com/package/winston
źródło
Morgan: - Morgan to oprogramowanie pośredniczące, które pomoże nam zidentyfikować klientów uzyskujących dostęp do naszej aplikacji. Zasadniczo logger.
Aby użyć Morgana, musimy wykonać poniższe kroki: -
npm install --save morgan
Spowoduje to dodanie morgana do pliku json.package
var morgan = require('morgan');
3> // stwórz strumień zapisu (w trybie dopisywania)
Uwaga: Upewnij się, że nie wspinasz się na oślep powyżej, upewnij się, że masz wszystkie warunki, w których potrzebujesz.
Powyższe spowoduje automatyczne utworzenie pliku access.log w katalogu głównym, gdy użytkownik uzyska dostęp do aplikacji.
źródło
przykład nodejs + express + morgan
źródło
W moim przypadku:
NAPRAW: Używałem kodu Visual Studio i musiałem dodać to do mojego Launch Config
Sugestia: jeśli korzystasz z IDE, uruchom bezpośrednio z wiersza poleceń, aby upewnić się, że IDE nie powoduje problemu.
źródło
console.log()
pisze też na standardowe wyjście?Możesz spróbować użyć mongo-morgan-ext
Zastosowanie to:
Oczekiwany wynik to
źródło
Używanie morgana jest dość proste. Jak sugeruje dokumentacja , istnieją różne sposoby uzyskania pożądanego wyniku za pomocą morgana. Zawiera wstępnie skonfigurowane metody logowania lub możesz je zdefiniować samodzielnie. Na przykład.
To da ci wstępną konfigurację o nazwie tiny. Zauważysz w swoim terminalu, co robi. Jeśli nie jesteś z tego zadowolony i chcesz głębiej, np. Powiedzmy adres URL żądania, to tutaj pojawiają się tokeny.
następnie użyj go w ten sposób:
Sprawdź dokumentację, która jest tam wyróżniona.
źródło