Informationen zum Aufzeichnen von Protokollen in Shotgun über die Shotgun-API Ich werde über den Fall schreiben, dass absichtlich ein beliebiges Protokoll anstelle des automatisch hinterlassenen Protokolls hinterlassen wird.
Bei Shotgun lautet die Datentabelle für die Protokollierung ** "EventLogEntry Entity" **. Wenn jemand etwas im Shotgun Web tut (öffnet eine Seite, ändert den Status, durchsucht eine Version usw.), wird es protokolliert.
… Weil es natürlich ein Protokoll ist
Das Protokoll wird aufgezeichnet, ohne etwas zu tun. Darüber hinaus gibt es Zeiten, in denen Sie Ihre eigenen Ereignisse als Orientierungspunkt protokollieren möchten.
Es ist ein sogenanntes "benutzerdefiniertes Ereignis".
Es gibt keine Methode zum Aufzeichnen von Ereignissen. Normalerweise ** erstellen ** für die EventLogEntry-Entität
Apropos "RTS" in der Projektspalte, Es ist hier serialisiert> http://area.autodesk.jp/column/tutorial/road_to_stingray/ Ich habe neulich auch einen Vortrag gehalten> http://www.guncys.com/?p=378 Ich freue mich auf die Fertigstellung!
Da event_type selbst nur ein Textfeld ist, können Sie es frei schreiben. Grundsätzlich ist es besser, das folgende Format anzupassen
{Was ist das Protokoll}_{Bei welcher Entität soll angemeldet werden?}_{Welche Art von Operation haben Sie durchgeführt?}
"Wer", "Wo" und "Was ist passiert" sind durch einen Unterstrich verbunden. Aus dem standardmäßig geschriebenen Protokoll geht hervor, dass das obere Kamelgehäuse mit einem Unterstrich für 3 Elemente verbunden ist.
Basierend auf dem bisherigen Inhalt lautet das Skript, das ein beliebiges Protokoll hinterlässt, beispielsweise wie folgt.
python
data = {}
data['project'] = PROJ
data['event_type'] = 'MyApp_Entity_SomeAction'
data['description'] = 'some action'
data['user'] = SCRIPT_USER
data['entity'] = SOME_TARGET
sg.create('EventLogEntry',data)
Der Beispielsatz zum Abrufen des geschriebenen Protokolls sieht wie folgt aus
python
eventType = 'MyApp_Entity_SomeAction'
log = sg.find_one(
'EventLogEntry',
[['event_type','is',eventType ],['project','is',PROJ]],
['created_at','entity'],
order=[{'field_name':'id','direction':'desc'}]
)
Verwenden Sie die Methode "find_one" und geben Sie an, dass die Artikel in der neuesten Reihenfolge mit "order" (where'desc "zurückgegeben werden.) Ich habe eine "neueste" MyScript_Shot_SomeAction ". Geben Sie außerdem "created_at" in das zurückgegebene Feld ein, um den Zeitstempel zu erhalten.
Wenn Sie den Ereignistyp eingeben, wäre es schön, ihn zu einer Funktion zu machen, als ob er zurückgegeben würde.
--Verwenden Sie erstellen.
Hier sind einige Beispiele für Ereignistypen, die fließen, wenn Sie sie normal verwenden (= ohne etwas wie das oben Genannte zu tun).
How to write event driven triggers https://support.shotgunsoftware.com/entries/44575-How-to-write-event-driven-triggers
Event Types https://github.com/shotgunsoftware/python-api/wiki/Event-Types
Es gibt auch so eine gute Sache
Shotgun Event Framework https://github.com/shotgunsoftware/shotgunEvents
Recommended Posts