C++ logger utility

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

C++ logger utility

Post by tsilochr » Wed Nov 21, 2007 5:50 pm

παίδες, χρειάζομαι ένα πολύ μικρό Logger σε C++. Θέλω μόνο να πετάω τα μηνύματα μου και απλώς να του λέω που να τα πετάει (πχ stdout ή σε κάποιο αρχείο) κατά την αρχικοποίηση του object. Κάποιοι που βρήκα έτοιμοι στο web είτε είναι πολύπλοκοι για τη δουλειά μου, είτε δεν κάνουν compile :???:

Μήπως έχετε τίποτα έτοιμο? Μην κάτσω και το γράψω από το 0 (δεν έχω χρόνο :oops: )

ΥΓ Hd, αν έχεις την απορία, είναι για την εργασίαστο μάθημα Λειτουργικών.
User avatar
AmmarkoV
Wow! Terabyte level
Wow! Terabyte level
Posts: 2838
Joined: Thu Nov 04, 2004 2:55 pm
Gender:
Location: Reloaded @ Santa Friday
Contact:

Post by AmmarkoV » Wed Nov 21, 2007 9:12 pm

Εννοείς keylogger ?
Ή ένα logger function που κάνει log strings ? (Έχω φτιάξει τέτοιον και με timestamps ..) :)

Και ο κώδικας είναι
void Add2Log(string filetoopen,string what2add,bool enable_append)
{
ofstream outfile2;
if (enable_append) {
outfile2.open (filetoopen.c_str(),ios::out | ios::app); } else
outfile2.open (filetoopen.c_str(),ios::out );

if (outfile2.is_open())
{
outfile2 <<what2add<<"\n";
outfile2.close();
}
}
Αυτό χωρίς timestamps.. το άλλο είναι μόνο για Windows
Αυτά..
Spoiler: εμφάνιση/απόκρυψη
I would love to change the world, but they won't give me the source code. Οι καθηγητές πληρώνονται από το δημόσιο αρα από όλους τους Έλληνες για να κάνουν τα μαθήματα. Όλοι οι Έλληνες θα έπρεπε να μπορούν να δουν τα μαθήματα τα οποία πληρώνουν! Tο πνευματικό έργο που επιτελείται με τα χρήματα του δημοσίου ΔΕΝ είναι μόνο δικό σας Όποιος δεν δίνει πανελλήνιες έχει δικαίωμα στην γνώση που πληρώνει [url=http://ammar.gr/gddg]gddg blog[/url]
Image
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Wed Nov 21, 2007 11:33 pm

όχι keylogger, log για μηνύματα INFO και DEBUG αντί να τα στέλνω ρητά στο cout ή το cerr. Σκεφτόμουν να υπήρχε κάτι σε φάση

Code: Select all

...
Logger log = Logger(κάποιο output stream);
...
log.write("blah blah");

ΟΚ, αν δεν φτιάξω κάτι μόνος μου μάλλον θα πάρω τη συνάρτηση σου Ammar. Ευχαριστώ
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Wed Nov 21, 2007 11:44 pm

Μάλιστα κύριε: http://logging.apache.org/log4cxx/index.html

Έχω χρησιμοποιήσει το Log4j που είναι το port του παραπάνω σε Java και μπορώ να σου πω ότι έμεινα ευχαριστημένος αρκετά.

Βέβαια στις περισσότερες περιπτώσεις που γράφω κώδικα είναι αποκλειστικά για linux οπότε απλά χρησιμοποιώ την system call syslog() και μετά είναι όλα θέμα του syslog, τι θα τα κάνει. Μπορείς να τον ρυθμήσεις να τα κάνει store σε κάποιο file, να τα δίνει σε terminal ή ακόμη και να τα στέλνει σε άλλον syslog server κλπ κλπ.

Btw πολύ ενδιαφέρον θα πρέπει να είναι το μάθημα ειδικά απο τα papers που παρουσιάζονται. Είναι πολύ fundamental aspects για τα OSes αυτά που σας δείχνει ο Δελής. Ειδικά του Katz και του Patterson θα σου αρέσουν πολύ.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Thu Nov 22, 2007 10:01 am

thnx bill, θα το κοιτάξω.

Όσο για το μάθημα, δεν προλαβαίνει να κάνει όλα τα papers, είναι σχετικά απαιτητικό μάθημα (για τα ελληνικά δεδομένα μιλάμε πάντα ε;) αλλά νιώθεις στο πετσί σου ότι κάνεις κάτι.

Επι τη ευκαιρία, ακόμα και στο ΤΕΙ Αθήνας κάνουν καλύτερα λειτουργικά από μας νομίζω, τα παιδιά έχουν κάπως καλύτερο υπόβαθρο σε λειτουργικά από αυτό που έχει ο δικός μας μέσος απόφοιτος (including me)
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Sat Nov 24, 2007 2:53 pm

offtopic
tsilochr wrote:Επι τη ευκαιρία, ακόμα και στο ΤΕΙ Αθήνας κάνουν καλύτερα λειτουργικά από μας νομίζω, τα παιδιά έχουν κάπως καλύτερο υπόβαθρο σε λειτουργικά από αυτό που έχει ο δικός μας μέσος απόφοιτος (including me)
Πότε έκανες OSes, γιατί εγώ δεν έκανα. :) :) :)

/offtopic
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Sat Nov 24, 2007 2:57 pm

HdkiLLeR wrote:offtopic
Πότε έκανες OSes, γιατί εγώ δεν έκανα. :) :) :)
/offtopic
exactly
User avatar
AmmarkoV
Wow! Terabyte level
Wow! Terabyte level
Posts: 2838
Joined: Thu Nov 04, 2004 2:55 pm
Gender:
Location: Reloaded @ Santa Friday
Contact:

Post by AmmarkoV » Sat Nov 24, 2007 4:14 pm

HdkiLLeR++
Spoiler: εμφάνιση/απόκρυψη
I would love to change the world, but they won't give me the source code. Οι καθηγητές πληρώνονται από το δημόσιο αρα από όλους τους Έλληνες για να κάνουν τα μαθήματα. Όλοι οι Έλληνες θα έπρεπε να μπορούν να δουν τα μαθήματα τα οποία πληρώνουν! Tο πνευματικό έργο που επιτελείται με τα χρήματα του δημοσίου ΔΕΝ είναι μόνο δικό σας Όποιος δεν δίνει πανελλήνιες έχει δικαίωμα στην γνώση που πληρώνει [url=http://ammar.gr/gddg]gddg blog[/url]
Image
Post Reply

Return to “Προγραμματισμός”