2016-06-30 3 views
0

Ich brauche eine benutzerdefinierte Logger, die bestimmte Aktionen protokolliert, die in meiner bereitgestellten Anwendung in Heroku auftreten. Dieses Protokoll ist für den Benutzer sichtbar (deshalb ist der Standard-Logger hier nicht gut).Schienen Haben Sie eine benutzerdefinierte Logger in Heroku

Bei der Entwicklung auf lokaler Ebene ist alles in Ordnung. Ich habe

logger = Logger.new(PATH) 
logger.info("...") 

PATH ist auf Umgebungsvariablen festgelegt.

Jetzt möchte ich zu Heroku bereitstellen, aber ich finde mich mit einem Problem: Wie kann der Benutzer dieses Protokoll anzeigen? Wo würde ich es speichern müssen?

Antwort

1

Auf Heroku-Dateisystem ist schreibgeschützt, sollten Sie auf stdout anmelden. Standard-Protokoll kann dorthin geleitet werden durch rails_12factor Gem (oder konfigurieren Sie selbst, aber der ehemalige ist einfacher)

Aber für benutzerdefinierte Protokoll, das wird vom Benutzer angezeigt werden, es ist besser zu db schreiben, weil die Wahrscheinlichkeit der Zukunft Zugangskontrolle benötigt wird, ist hoch

+0

Das war wirklich nützlich, und ich werde diese Frage richtig markieren, da diese eine Option gibt mir, was zu tun. –

0

Heroku hat eine ephemeral filesystem Bedeutung, was auch immer Datei hochladen Sie würde kurz danach gelöscht werden. Wenn Sie eine benutzerdefinierte Logger auf Heroku benötigen, würde ich sagen, dass Sie wahrscheinlich etwas verwenden sollten, das länger anhaltend ist. Sie können etwas wie Redis verwenden.

Look at this answer for more info.

+0

Danke, das war wirklich nützlich. –