βιβλιοθήκη καταγραφής logging

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
B-nana
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2007 15:05

βιβλιοθήκη καταγραφής logging

Δημοσίευση από B-nana » 13 Ιουν 2007 15:18

Χρειάζομαι βοήθεια για την κατασκευή βιβλιοθήκης καταγραφής logging για την
καταγραφή συμβάντων(σημαντικά λάθηή κάποιες
πληροφορίες) κατά την εκτέλεση ενός προγράμματος.Σε C++.Που πρέπει να απευθυνθώ? :roll:

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

βιβλιοθήκη καταγραφής logging

Δημοσίευση από cherouvim » 13 Ιουν 2007 16:45

Πρέπει οπωσδήποτε να το κάνεις εσύ;

http://logging.apache.org/

B-nana
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2007 15:05

βιβλιοθήκη καταγραφής logging

Δημοσίευση από B-nana » 13 Ιουν 2007 17:14

nai prepei na to kanw egw...isws bebaia voh8ouse kai kati etoimo an ksereis

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

βιβλιοθήκη καταγραφής logging

Δημοσίευση από dva_dev » 14 Ιουν 2007 05:48

Που θα αποθηκεύονται αυτά που θα κάνεις log?
Τι πληροφορίες θα κρατάς στο log?
Εχεις υπόψη σου (αν θα χρησιμοποιήσεις) κάποια τυποποίηση στο logging (αν αυτό που καταγράφεις είναι λάθος/πληροφορία/..., που συνέβη/τι περιλαμβάνει/...)?
Η βιβλιοθήκη που θέλεις να φτιάξεις σε τι λειτουργικό θέλεις να την κάνεις (linux, windows)?
Η βιβλιοθήκη θα είναι στατική (πχ .lib που θα κάνεις link στο πρόγραμμα σου) ή δυναμική (πχ .dll που θα μπορείς να την φορτώσεις δυναμικά);

Δες επίσης:
http://www.codeproject.com/atl/atllog.asp
http://www.nedbatchelder.com/text/log-style-guide.html
http://www.codeproject.com/managedcpp/smartlog.asp
http://builder.com.com/5100-6370_14-5072104.html

B-nana
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2007 15:05

βιβλιοθήκη καταγραφής logging

Δημοσίευση από B-nana » 14 Ιουν 2007 18:00

Έχω κατασκευάσει 2 βασικές κλάσεις Logger και Appender απο την οποιία κληρονομούν οι ConsoleAppender, FileAppender οι οποίες αντίστοιχα καταγράφουν μηνύματα για καταχώρηση (logging) και ορίζουν τον τρόπο
αποθήκευσης των μηνυμάτων(στην οθόνη ή σε αρχείο).
Η κλάση Logger
{
private:
LoggerMessageLevel level_;
vector < Appender > myappender;
public:
Logger();
~Logger();
Logger getLogger(String name
void addAppender(Appender appender);
LoggerMessageLevel getLevel();
void setLevel(LoggerMessageLevel userLevel_);
void debug(string message);
void info(string message);
void warn(string message);
void error(string message);
void fatal(string message);
}

To message λογικά θα΄ναι της μορφής:
<ημερομηνία> <ώρα> <επίπεδο> <όνομα αρχείου> <αριθμό γραμμής> <μήνυμα>

Επίσης έχω την κλάση layout με παράγωγες της HtmlLayout και SimpleLayout και μορφοποίηση του message.

Στο progect μου πρέπει να χρησιμοποιήσω μοτίβα σχεδίασης όπως το Factory Pattern,
το Singleton,το Mediator Pattern.[/img][/list]

B-nana
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2007 15:05

βιβλιοθήκη καταγραφής logging

Δημοσίευση από B-nana » 14 Ιουν 2007 18:37

Η βιβλιοθήκη θα είναι στατική σε windows

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

βιβλιοθήκη καταγραφής logging

Δημοσίευση από dva_dev » 15 Ιουν 2007 18:10

Αν κατάλαβα καλά αυτό που θέλεις να κάνεις, τότε αρκεί να φτιάξεις ένα νέο Win32 project και στα application settings να του δώσεις Static Library, μετά προσθέτεις στο project τα αρχεία που θέλεις (αυτά με τις κλάσεις Logger, Appender και όποια άλλα θέλεις).
Το τελικό παραδοτέο θα πρέπει να περιέχει το <project name>.lib, τα .h αρχεία που έχουν τους headers με τις κλάσεις (ώστε να μπορεί κάποιος που θα πάρει τη βιβλιοθήκη να γνωρίζει τι κλάσεις περιέχει και να τις χρησιμοποιήσει) και τέλος το σχετικό documentation της βιβλιοθήκης.

Αλλιώς αν αυτο που έχεις ήδη είναι δυναμική βιβλιοθήκη (.dll project) και δεν σου παράγει το .lib (που είναι το ζητούμενο), μπορείς στο Project Settings -> Configuration Type να βάλεις "Static library (.lib)"

Ελπίζω να βοήθησα

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες