Funktionsaufrufe loggen
-
ingobulla schrieb:
unskilled schrieb:
ich kenn auch nur das makro __FUNCTION__
Als Alternative gibt es noch __PRETTY_FUNCTION__.
was aber der msvc nicht kann sondern nur der gcc?!
-
Ich schreibe HTML-Logbücher, die dann farblich unterlegt sind. Das ist eigentlich recht übersichtlich. Spezielle Funktionen bekommen dann eine spezielle Log-Funktion um sie besser darzustellen. Das ganze ist aber so aufgebaut, dass der Teil austauschbar ist, der das ganze auf die Platte schreibt, sprich man kann auch jederzeit auf .txt ausweichen.
Logger:
http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLLog.cppHTML-Writer:
http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLHtmlWriter.cppInterface:
http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLILogWriter.hppDas ganze is recht billig, aber effektiv :).
Und nach Funktion sortiert und aufklappbar würde das auch gehen mit a bissl javascript :).
rya
-
Scorcher24 schrieb:
Das ganze is recht billig, aber effektiv :).
Billig ist gut.
Scorcher24 schrieb:
Logger:
http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLLog.cppIst das switch wirklich nötig??!
-
volkard schrieb:
Scorcher24 schrieb:
Das ganze is recht billig, aber effektiv :).
Billig ist gut.
Scorcher24 schrieb:
Logger:
http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLLog.cppIst das switch wirklich nötig??!
Vllt nicht, aber ich hab das relativ fix in sehr kurzer Zeit gemacht :). Es macht das was es soll, daher habe ich nicht groß drauf geachtet...
-
Da dachte ich, endlich mal einen gefunden zu haben, der bewußt einfachen Code bastelt...
switch(x){ case 0: cout<<0; break; case 1: cout<<1; break; case 2: cout<<2; break; case 3: cout<<3; break; case 4: cout<<4; break; case 5: cout<<5; break; case 6: cout<<6; break; case 7: cout<<7; break; case 8: cout<<8; break; case 9: cout<<9; break; }
-
Okay, ich habs nochmal überarbytet
. Will ja nicht, dass man mich für unflexibel hält.
Jetzt geht auch sowas:log << LL_ERROR << "Fehler"Aber ich hab das halt nicht studiert, ich betreibe das als Hobby. Dass ich nicht mit euch studierten hier mithalten kann is mir durchaus bewusst. Aber auch einfache Lösungen haben ihre Berechtigung.Solange der Code sauber funktioniert, bin ich zufrieden.
-
Ich stolper zZ immer wieder über Zeug bei dem ich nicht recht weiss wonach ich googeln müsste,, diesmal zB:
class HIERSTEHTWAS className { // °°°°°°°°°°°° }wofür ist das Konstrukt/ wie nennt man es/ wo gibts Infos in Standard?
-
was ist denn hieristetwas?
wird wohl nen makro sein, was nur zu infozwecken da ist.
bsp.:#define MY_COOL_CLASS class MY_COOL_CLASS foo { };bb
-
konkret hier gesehen: http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLILogWriter.hpp
Sehe nur keine Makrodefinition .. aber ok
mit denen hab ichs eh nicht so
-
padreigh schrieb:
konkret hier gesehen: http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLILogWriter.hpp
Ah. dllexport.
http://msdn.microsoft.com/en-us/library/81h27t8c.aspx
-
padreigh schrieb:
konkret hier gesehen: http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NLILogWriter.hpp
Sehe nur keine Makrodefinition .. aber ok
mit denen hab ichs eh nicht soDefinition:
http://code.google.com/p/nightlighttv/source/browse/NightLight/trunk/NightLightDLL/NightLight.hpp#68// Export Macro for Win32 #if defined(WIN32) && defined(BUILD_NIGHTLIGHT) # define NLEXPORT _declspec(dllexport) #elif defined(WIN32) # define NLEXPORT _declspec(dllimport) #else # define NLEXPORT #endif
Ist nötig damit die Funktionen aus der .dll in die import library exportiert werden, bzw beim einbinden der DLL aus der importlibrary importiert werden.
rya.
-
das erklärt es, mit windows hab ichs noch weniger
danke