Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: MaraZ am 16.12.03 - 11:28:21

Titel: Erstellen eines Log Systems
Beitrag von: MaraZ am 16.12.03 - 11:28:21
Hallo Zusammen, ich bin neu hier. Ich hoffe ich habe den richtigen Tread gewählt.

Ich hab ein kleines Problem. Ich möchte für meine Datenbank in Notes 5 eine Art Logsystem Coden. Es soll bei jedem öffnen der DB ein Dokument erstellen mit Username, Datum/Zeit, ect.

Ich habe dammit angefangen doch irgendwie scheint es nicht zu funktionieren.

Ich schrib diesen Text in den Postopen der DB:

Code
Sub Postopen(Source As Notesuidatabase)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Set db = session.CurrentDatabase
   Set doc = db.CreateDocument
   Set form = db.Getform( "Logfiles" )
   doc.Subject = "New building"
   
   
   Call doc.Save( True, True )   
End Sub

In der Form Logfiles habe ich Server username ect. mit @Formula gesetzt. Ist es möglich die beiden so zu kombinieren?

Ich bin nicht so ein NotesHeld also bitte helft mir  ;)
Titel: Re:Erstellen eines Log Systems
Beitrag von: Axel am 16.12.03 - 11:39:37
Hi,

schau dir in der Designer - Hilfe mal die Klasse NotesLog an. Damit kannst du relativ einfach ein Log-System aufbauen.

Es sind auch einige Beispiele vorhanden.


Axel
Titel: Re:Erstellen eines Log Systems
Beitrag von: Driri am 16.12.03 - 11:56:59
Nochmal zu deinem Code :

Das Problem ist, daß bei der Erstellung eines Dokumentes per Script die berechneten Felder nicht angelegt werden, wenn Du über die Backend-Klassen gehst.
Ich würde empfehlen, entweder die Felder im Script zu erzeugen oder vorm Speichern ein "ComputeWithForm" abzusetzen, damit die berechneten Felder erzeugt werden.
Titel: Re:Erstellen eines Log Systems
Beitrag von: Don Pasquale am 16.12.03 - 11:58:34
Was funktioniert denn genau nicht ?
Erzähl mal mehr !

Ciao
Don Pasquale
Titel: Re:Erstellen eines Log Systems
Beitrag von: MaraZ am 06.01.04 - 09:49:14
Hi,

schau dir in der Designer - Hilfe mal die Klasse NotesLog an. Damit kannst du relativ einfach ein Log-System aufbauen.

Es sind auch einige Beispiele vorhanden.


Axel


danke, aber leider muss ich dieses Log system für meine Firma programmieren und auf das "Notes Log" haben normale Benutzer gar keine Zugriff. Desshalb ist diese Methode für mich eher ungünstig

Ich denke ich mache nun den Code noch mal neu und versuche diesmal die Felder direkt mit Lotusscript zu setzen
Titel: Re:Erstellen eines Log Systems
Beitrag von: Don Pasquale am 06.01.04 - 10:45:24
und auf das "Notes Log" haben normale Benutzer gar keine Zugriff.

NotesLog ist die Klasse in LotusScript, darauf braucht keiner Zugriff zu haben.

Ciao
Don Pasquale
Titel: Re:Erstellen eines Log Systems
Beitrag von: MaraZ am 06.01.04 - 10:48:53
nun, ich bin mir auch nicht ganz sicher, aber als ich es mit Noteslog versuchte hat mir ein Mitarbeiter gesagt das sei keine guete idee, Normale benutzer hätten keine befugniss diese Logs auszulesen...  ???
Titel: Re:Erstellen eines Log Systems
Beitrag von: Don Pasquale am 06.01.04 - 10:58:13
Zement mal,

die Klasse NotesLog ist das eine,
die DB in der das geloggt wird eine andere.

Jetzt brauche ich mal Rat von einem der Gurus hier,
funktioniert der Zugriff auf so eine Log-DB nicht über ACL wie bei alle n anderen auch ?

Ciao
Don Pasquale
Titel: Re:Erstellen eines Log Systems
Beitrag von: Semeaphoros am 06.01.04 - 11:01:40
Mir wäre nichts gegenteiliges bekannt, auch die log.nsf ist nur eine ganz normale Notes-DB
Titel: Re:Erstellen eines Log Systems
Beitrag von: Axel Janssen temp am 06.01.04 - 11:05:45
ich glaub sie/er verwechselt das mit der log.nsf

Titel: Re:Erstellen eines Log Systems
Beitrag von: MaraZ am 06.01.04 - 11:07:55
ich glaub sie/er verwechselt das mit der log.nsf

ich verwechsle nichts, kann ich gar nicht hab ja (noch) keine grosse Ahnung von Notes, evtl hat sich der Mitarbeiter geirrt.  ;)

/EDIT: Smilies für die Welt!  ::)
Titel: Re:Erstellen eines Log Systems
Beitrag von: Don Pasquale am 06.01.04 - 11:10:44
Hallo MaraZ,
ein Smiley hätte an dieser Stelle nicht weh getan.

Also, schiess diesen Mitarbeiter in den Wind und
programmiere mit Noteslog weiter.

Es ist dann ein leichtes die ACL der log.nsf so anzupassen,
dass sie alle lesen können, die das dürfen

Ciao
Don Pasquale
Titel: Re:Erstellen eines Log Systems
Beitrag von: MaraZ am 06.01.04 - 11:14:15
du hast recht, bin in anderen Forums ein Member der viele Smilies braucht, habe es vergessen   :-\

ok ich geh mal in die 2. Runde in diesem Logsystem, wenns neuigkeiten, probleme oder Erfolge gibt werde ich euch informieren  :)
Titel: Re:Erstellen eines Log Systems
Beitrag von: Axel am 06.01.04 - 12:38:58
...und
programmiere mit Noteslog weiter.

Es ist dann ein leichtes die ACL der log.nsf so anzupassen,
dass sie alle lesen können, die das dürfen

@Don

meines Erachtens hat die Klasse NotesLog und die log.nsf (Notes Protokoll) nichts miteinander zu tun.

Mit der Klasse NotesLog erstellst du eine eigene DB auf Basis der Schablone Agent-Protokoll (alog4.ntf) und schreibst die Meldungen mit den entsprechenden Methoden der Klasse dort rein. In der Desingerhilfe gibt es Beispiele dazu.

Die log.nsf bleibt da außen vor.

Axel
Titel: Re:Erstellen eines Log Systems
Beitrag von: Semeaphoros am 06.01.04 - 12:43:21
Das hat Don ja in seinem Posting implizit auch gesagt.

MaraZ:
Du solltest vielleicht mal die Designer-Hilfe zu Notes-Log studieren, da die Klasse ja eigentlich durchaus auch unterschiedliche Ansprüche erfüllt damit flexibel verwendbar ist.
Titel: Re:Erstellen eines Log Systems
Beitrag von: Axel am 06.01.04 - 13:00:46
Das hat Don ja in seinem Posting implizit auch gesagt.


Ich weiss nicht ob das auch so rüber gekommen ist. Aber lassen wird das.

Zitat
Zement mal,

die Klasse NotesLog ist das eine,
die DB in der das geloggt wird eine andere.

Jetzt brauche ich mal Rat von einem der Gurus hier,
funktioniert der Zugriff auf so eine Log-DB nicht über ACL wie bei alle n anderen auch ?

Ciao
Don Pasquale

Da ein Log-DB eine ganz normale DB ist regelt die ACL den Zugriff, wer nicht in der ACL steht hat auch keinen Zugriff. So weit so gut.

Aber das Erstellen von Einträgen mit Methoden der Klase NotesLog bleibt davon unberührt, da es eine Backendklasse ist. D.h. auch wenn ein User, der keine Rechte auf die Log-DB hat, in einer DB ein Ereignis auslöst, dass über die NotesLog-Klasse einen Eintrag in der Log-DB zur Folge hat, wird der Eintrag in der Log-DB erstellt. Hier spielt die ACL der Log-DB keine Rolle.


Axel