ich suche was, das mir das logging erleichtert, ka ob script oder nur befehl.
mein problem ist, ich hätte gerne log ausgaben vom script, aber diese gescheit darstellen ist nicht so einfach.
full ui -> schön aber viel zu coden, wodurch das log aufwendiger werden kann als das script selbst
msgbox -> zu nervig weil es aktiv wird und bestätigung braucht
traytip -> pratisch für gelegentliche meldungen, aber als dauerhaftes log zu nervig
tooltip -> recht nervig und muss dazu noch entfernt werden
splashtexton -> recht praktisch leider aber always on top
gibt es nicht sowas wie ein log4autoit oder ne funktion die genau fürs logging zugeschnitten ist? so eine art kleines fenster wodrin steht was es gerade versucht zu tun.
logging leicht gemacht?
-
- [ gelöst ]
-
diepfeile -
21. Juni 2011 um 21:37 -
Geschlossen -
Erledigt
-
-
Evtl. ConsoleWrite
Man muss ja nicht nach jedem Befehl was loggen, sondern könnte ja in unterschiedliche Bereiche einteilen wo dann geloggt wird das irgendwas gemacht wurde. (Und wenn man es auch bei einem kompiliertem Skript noch lesen können soll dann zusätzlich als CUI kompilieren.) -
erstell doch ne kleine gui mit label, das sind ~10 zeilen,
Und dann änderst du das label immer -
Hallo DiePfeile,
wie wäre es mit
[autoit]_FileWriteLog
[/autoit]mfg autoBert
-
Dafür gibt es doch die UDF Debug.au3, die bei AutoIt dabei ist.
-
Evtl. ConsoleWrite
Man muss ja nicht nach jedem Befehl was loggen, sondern könnte ja in unterschiedliche Bereiche einteilen wo dann geloggt wird das irgendwas gemacht wurde. (Und wenn man es auch bei einem kompiliertem Skript noch lesen können soll dann zusätzlich als CUI kompilieren.)
die ist recht praktisch, aber das geht nur wenn man das script ausm editor startet und wenn man ff.au3 included kann man das vergessen da das es vollspammt. hab vergessend ie zu erwähnen.Hallo DiePfeile,
[autoit]
wie wäre es mit_FileWriteLog
[/autoit]
mfg autoBert
ne ich suchte was, dass in ein fenster loggt nicht in eine datei.Dafür gibt es doch die UDF Debug.au3, die bei AutoIt dabei ist.
sieht zu ausführlich und aufwendig aus.erstell doch ne kleine gui mit label, das sind ~10 zeilen,
Und dann änderst du das label immerjo, hab ich mir dann eben zusammen geprogt. falls wer anderes sowas auch sucht:
[autoit]#include-once
[/autoit][autoit][/autoit][autoit]
#cs include for easier logging, to see what a script is doing e.g.: logit("changed var $map to : " & $map)
and sometimes the clear_edit_box() func needs to be called to clear the edit box22.06.2011 + created
[/autoit][autoit][/autoit][autoit]
#ce; GUI
[/autoit][autoit][/autoit][autoit]
$fensterx = 250 ; ui width
$fenstery = 250 ; ui heigth
$guiwintext = @ScriptName & "-Log"
$guiwin = GUICreate($guiwintext,$fensterx,$fenstery,2600,700) ;creates the loggui
;editbox for log
$guiedit = GUICtrlCreateEdit("Starting up...",0,0,$fensterx,$fenstery) ;creates the textfield in the gui
GUISetState(@SW_SHOW) ; shows it
WinSetOnTop($guiwin,"",1) ; sets the window on top, who would have thought that;timestamps the text, appends a newline and puts it in the editbox as log
[/autoit][autoit][/autoit][autoit]
Func _logit($text)
GUICtrlSetData($guiedit, @HOUR & ":" & @MIN & ":" & @SEC & " " & $text & @CRLF, "append") ; creates logentry
EndFunc ;==>_logit; removes older lines from the edit box, so that there is always place for new ones
[/autoit]
Func _clear_edit_box()
$tmp = GUICtrlRead($guiedit)
If StringLen($tmp) > 29500 Then
GUICtrlSetData($guiedit,StringTrimLeft($tmp,5000))
EndIf
EndFunc ;==>_clear_edit_box