logging leicht gemacht?

  • 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.

    Einmal editiert, zuletzt von diepfeile (22. Juni 2011 um 02:24)

  • 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

  • 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,
    wie wäre es mit

    [autoit]

    _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 immer

    jo, hab ich mir dann eben zusammen geprogt. falls wer anderes sowas auch sucht:

    [autoit]

    #include-once
    #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 box

    [/autoit][autoit][/autoit][autoit]

    22.06.2011 + created
    #ce

    [/autoit][autoit][/autoit][autoit]

    ; GUI
    $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

    [/autoit][autoit][/autoit][autoit]

    ;timestamps the text, appends a newline and puts it in the editbox as log
    Func _logit($text)
    GUICtrlSetData($guiedit, @HOUR & ":" & @MIN & ":" & @SEC & " " & $text & @CRLF, "append") ; creates logentry
    EndFunc ;==>_logit

    [/autoit][autoit][/autoit][autoit]

    ; removes older lines from the edit box, so that there is always place for new ones
    Func _clear_edit_box()
    $tmp = GUICtrlRead($guiedit)
    If StringLen($tmp) > 29500 Then
    GUICtrlSetData($guiedit,StringTrimLeft($tmp,5000))
    EndIf
    EndFunc ;==>_clear_edit_box

    [/autoit]