Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ...
Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ...
Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ...
On Mon, 20 Dec 2004 23:09:10 +0100, ben64 :Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ...
C'est justement à ça que ça sert, les templates...
On Mon, 20 Dec 2004 23:09:10 +0100, ben64 <bcamredonews@laposte.net>:
Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ...
C'est justement à ça que ça sert, les templates...
On Mon, 20 Dec 2004 23:09:10 +0100, ben64 :Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ...
C'est justement à ça que ça sert, les templates...
Bin pour moi la solution template est une mauvaise solution.
Bin pour moi la solution template est une mauvaise solution.
Bin pour moi la solution template est une mauvaise solution.
Bonjour,
Excusez moi par avance pour cette question, mais je suis un débutant en
C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je voudrais
faire une classe me permettant de logguer des messages, un peu comme
pourrait le faire cout. Je verrais bien la chose de cette façon (en
simplifiant) :
log << debug1 << "Message de DEBUG de niveau 1" << endl;
log << critical << "Message Critiques" << endl;
log << debug2 << Message de DEBUG de niveau 2" << endl;
Suivant la configuration de l'objet log, les messages de tel ou tel
niveau de debug ne serait pas pris en compte. Et en changeant la
configuration de l'objet on aurait des messages plus ou moins verbeux
(certains messages comme les erreurs critiques apparaissant dans tous
les cas de figure). Certains message pourraient être affichés sur la
sortie standard, d'autres sur la sortie d'erreur, d'autres écrits dans
une fichier, d'autres envoyés sur le réseau par une socket, ... toutes
les possibilités sont permises, mais la syntaxe reste la même et la
façon de logguer les messages est à la charge de l'objet log et pas de
l'application.
Ma première idée a été de faire une classe et d'implémenter l'opérateur
<<. Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ... et je ne profite pas de tous les manipulateurs
tels que endl, hex, ... Ce qui est génant et contraire au principe objet
de réutilisation. Ma deuxième idée a été de faire une classe qui hérite
de ostream. Mais je dois être trop mauvais pour y arriver :), car ca ne
marche pas. Si quelqu'un avait a une idée je suis preneur :)
Ma deuxième question et qui découle de la première, est à propos de
cout. Je ne vois pas du tout comment celui est implémenté. Est ce un
objet de la classe ostream ? J'ai l'impression que pour résoudre mon
problème j'ai juste besoin d'un cout, un peu plus évolué mais je ne vois
pas du tout comment faire.
Merci d'avance,
ben64
Bonjour,
Excusez moi par avance pour cette question, mais je suis un débutant en
C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je voudrais
faire une classe me permettant de logguer des messages, un peu comme
pourrait le faire cout. Je verrais bien la chose de cette façon (en
simplifiant) :
log << debug1 << "Message de DEBUG de niveau 1" << endl;
log << critical << "Message Critiques" << endl;
log << debug2 << Message de DEBUG de niveau 2" << endl;
Suivant la configuration de l'objet log, les messages de tel ou tel
niveau de debug ne serait pas pris en compte. Et en changeant la
configuration de l'objet on aurait des messages plus ou moins verbeux
(certains messages comme les erreurs critiques apparaissant dans tous
les cas de figure). Certains message pourraient être affichés sur la
sortie standard, d'autres sur la sortie d'erreur, d'autres écrits dans
une fichier, d'autres envoyés sur le réseau par une socket, ... toutes
les possibilités sont permises, mais la syntaxe reste la même et la
façon de logguer les messages est à la charge de l'objet log et pas de
l'application.
Ma première idée a été de faire une classe et d'implémenter l'opérateur
<<. Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ... et je ne profite pas de tous les manipulateurs
tels que endl, hex, ... Ce qui est génant et contraire au principe objet
de réutilisation. Ma deuxième idée a été de faire une classe qui hérite
de ostream. Mais je dois être trop mauvais pour y arriver :), car ca ne
marche pas. Si quelqu'un avait a une idée je suis preneur :)
Ma deuxième question et qui découle de la première, est à propos de
cout. Je ne vois pas du tout comment celui est implémenté. Est ce un
objet de la classe ostream ? J'ai l'impression que pour résoudre mon
problème j'ai juste besoin d'un cout, un peu plus évolué mais je ne vois
pas du tout comment faire.
Merci d'avance,
ben64
Bonjour,
Excusez moi par avance pour cette question, mais je suis un débutant en
C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je voudrais
faire une classe me permettant de logguer des messages, un peu comme
pourrait le faire cout. Je verrais bien la chose de cette façon (en
simplifiant) :
log << debug1 << "Message de DEBUG de niveau 1" << endl;
log << critical << "Message Critiques" << endl;
log << debug2 << Message de DEBUG de niveau 2" << endl;
Suivant la configuration de l'objet log, les messages de tel ou tel
niveau de debug ne serait pas pris en compte. Et en changeant la
configuration de l'objet on aurait des messages plus ou moins verbeux
(certains messages comme les erreurs critiques apparaissant dans tous
les cas de figure). Certains message pourraient être affichés sur la
sortie standard, d'autres sur la sortie d'erreur, d'autres écrits dans
une fichier, d'autres envoyés sur le réseau par une socket, ... toutes
les possibilités sont permises, mais la syntaxe reste la même et la
façon de logguer les messages est à la charge de l'objet log et pas de
l'application.
Ma première idée a été de faire une classe et d'implémenter l'opérateur
<<. Cependant je suis obligé de définir cet opérateur pour une chaine,
un entier, un float, ... et je ne profite pas de tous les manipulateurs
tels que endl, hex, ... Ce qui est génant et contraire au principe objet
de réutilisation. Ma deuxième idée a été de faire une classe qui hérite
de ostream. Mais je dois être trop mauvais pour y arriver :), car ca ne
marche pas. Si quelqu'un avait a une idée je suis preneur :)
Ma deuxième question et qui découle de la première, est à propos de
cout. Je ne vois pas du tout comment celui est implémenté. Est ce un
objet de la classe ostream ? J'ai l'impression que pour résoudre mon
problème j'ai juste besoin d'un cout, un peu plus évolué mais je ne vois
pas du tout comment faire.
Merci d'avance,
ben64
Bonjour,
Excusez moi par avance pour cette question, mais je suis un débutant
en C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je
voudrais faire une classe me permettant de logguer des messages, un peu
comme pourrait le faire cout. Je verrais bien la chose de cette façon
(en simplifiant) :
Bonjour,
Excusez moi par avance pour cette question, mais je suis un débutant
en C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je
voudrais faire une classe me permettant de logguer des messages, un peu
comme pourrait le faire cout. Je verrais bien la chose de cette façon
(en simplifiant) :
Bonjour,
Excusez moi par avance pour cette question, mais je suis un débutant
en C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je
voudrais faire une classe me permettant de logguer des messages, un peu
comme pourrait le faire cout. Je verrais bien la chose de cette façon
(en simplifiant) :
Excusez moi par avance pour cette question, mais je suis un
débutant
en C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je
voudrais faire une classe me permettant de logguer des messages, un
peu comme pourrait le faire cout. Je verrais bien la chose de cette
façon (en simplifiant) :
log << debug1 << "Message de DEBUG de niveau 1" << endl;
log << critical << "Message Critiques" << endl;
log << debug2 << Message de DEBUG de niveau 2" << endl;
Suivant la configuration de l'objet log, les messages de tel ou tel
niveau de debug ne serait pas pris en compte. Et en changeant la
configuration de l'objet on aurait des messages plus ou moins verbeux
(certains messages comme les erreurs critiques apparaissant dans tous
les cas de figure). Certains message pourraient être affichés sur
la
sortie standard, d'autres sur la sortie d'erreur, d'autres écrits
dans
une fichier, d'autres envoyés sur le réseau par une socket, ...
toutes
les possibilités sont permises, mais la syntaxe reste la même et la
façon de logguer les messages est à la charge de l'objet log et pas
de
l'application.
Ma première idée a été de faire une classe et d'implémenter
l'opérateur <<. Cependant je suis obligé de définir cet opérateur
pour
une chaine, un entier, un float, ... et je ne profite pas de tous les
manipulateurs tels que endl, hex, ... Ce qui est génant et contraire
au principe objet de réutilisation. Ma deuxième idée a été de
faire
une classe qui hérite de ostream. Mais je dois être trop mauvais
pour
y arriver :), car ca ne marche pas. Si quelqu'un avait a une idée je
suis preneur :)
Ma deuxième question et qui découle de la première, est à propos
de
cout. Je ne vois pas du tout comment celui est implémenté. Est ce
un
objet de la classe ostream ? J'ai l'impression que pour résoudre mon
problème j'ai juste besoin d'un cout, un peu plus évolué mais je
ne
vois pas du tout comment faire.
Excusez moi par avance pour cette question, mais je suis un
débutant
en C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je
voudrais faire une classe me permettant de logguer des messages, un
peu comme pourrait le faire cout. Je verrais bien la chose de cette
façon (en simplifiant) :
log << debug1 << "Message de DEBUG de niveau 1" << endl;
log << critical << "Message Critiques" << endl;
log << debug2 << Message de DEBUG de niveau 2" << endl;
Suivant la configuration de l'objet log, les messages de tel ou tel
niveau de debug ne serait pas pris en compte. Et en changeant la
configuration de l'objet on aurait des messages plus ou moins verbeux
(certains messages comme les erreurs critiques apparaissant dans tous
les cas de figure). Certains message pourraient être affichés sur
la
sortie standard, d'autres sur la sortie d'erreur, d'autres écrits
dans
une fichier, d'autres envoyés sur le réseau par une socket, ...
toutes
les possibilités sont permises, mais la syntaxe reste la même et la
façon de logguer les messages est à la charge de l'objet log et pas
de
l'application.
Ma première idée a été de faire une classe et d'implémenter
l'opérateur <<. Cependant je suis obligé de définir cet opérateur
pour
une chaine, un entier, un float, ... et je ne profite pas de tous les
manipulateurs tels que endl, hex, ... Ce qui est génant et contraire
au principe objet de réutilisation. Ma deuxième idée a été de
faire
une classe qui hérite de ostream. Mais je dois être trop mauvais
pour
y arriver :), car ca ne marche pas. Si quelqu'un avait a une idée je
suis preneur :)
Ma deuxième question et qui découle de la première, est à propos
de
cout. Je ne vois pas du tout comment celui est implémenté. Est ce
un
objet de la classe ostream ? J'ai l'impression que pour résoudre mon
problème j'ai juste besoin d'un cout, un peu plus évolué mais je
ne
vois pas du tout comment faire.
Excusez moi par avance pour cette question, mais je suis un
débutant
en C++. J'espère qu'elle ne sera pas quand même trop ridicule. Je
voudrais faire une classe me permettant de logguer des messages, un
peu comme pourrait le faire cout. Je verrais bien la chose de cette
façon (en simplifiant) :
log << debug1 << "Message de DEBUG de niveau 1" << endl;
log << critical << "Message Critiques" << endl;
log << debug2 << Message de DEBUG de niveau 2" << endl;
Suivant la configuration de l'objet log, les messages de tel ou tel
niveau de debug ne serait pas pris en compte. Et en changeant la
configuration de l'objet on aurait des messages plus ou moins verbeux
(certains messages comme les erreurs critiques apparaissant dans tous
les cas de figure). Certains message pourraient être affichés sur
la
sortie standard, d'autres sur la sortie d'erreur, d'autres écrits
dans
une fichier, d'autres envoyés sur le réseau par une socket, ...
toutes
les possibilités sont permises, mais la syntaxe reste la même et la
façon de logguer les messages est à la charge de l'objet log et pas
de
l'application.
Ma première idée a été de faire une classe et d'implémenter
l'opérateur <<. Cependant je suis obligé de définir cet opérateur
pour
une chaine, un entier, un float, ... et je ne profite pas de tous les
manipulateurs tels que endl, hex, ... Ce qui est génant et contraire
au principe objet de réutilisation. Ma deuxième idée a été de
faire
une classe qui hérite de ostream. Mais je dois être trop mauvais
pour
y arriver :), car ca ne marche pas. Si quelqu'un avait a une idée je
suis preneur :)
Ma deuxième question et qui découle de la première, est à propos
de
cout. Je ne vois pas du tout comment celui est implémenté. Est ce
un
objet de la classe ostream ? J'ai l'impression que pour résoudre mon
problème j'ai juste besoin d'un cout, un peu plus évolué mais je
ne
vois pas du tout comment faire.
std::ostream& critical(std::ostream& a_stream)
{
logger l = (logger&) a_stream;
l.rdbuf(l.file_stream.rdbuf());
return l;
}
std::ostream& critical(std::ostream& a_stream)
{
logger l = (logger&) a_stream;
l.rdbuf(l.file_stream.rdbuf());
return l;
}
std::ostream& critical(std::ostream& a_stream)
{
logger l = (logger&) a_stream;
l.rdbuf(l.file_stream.rdbuf());
return l;
}
Si tu vas dans la liste des fichiers temporaires de boost, tu trouveras
une bibliothèque de logging qui fait tout plein de choses.
Si tu vas dans la liste des fichiers temporaires de boost, tu trouveras
une bibliothèque de logging qui fait tout plein de choses.
Si tu vas dans la liste des fichiers temporaires de boost, tu trouveras
une bibliothèque de logging qui fait tout plein de choses.