2010-10-01 15 views
3

Je recherche une bibliothèque de journalisation haute performance que j'utiliserai sur un périphérique intégré.Bibliothèque de journalisation hautes performances pour les applications intégrées

Je tiens également à dire que j'avais précédemment utilisé la bibliothèque de journalisation PaulBunyan qui fournissait une méthode efficace pour transférer des informations.

[Par efficace, je voulais dire qu'il avait une solution pour transférer seulement le __LINE__ et __FILE__ lors de l'envoi de données via une interface à faible vitesse (SERIAL par exemple) - bien sûr une cartographie __LINE____FILE__ a déjà été fait en scannant le code].

Connaissez-vous de telles solutions ou au moins similaires?

Merci à l'avance pour tous les pointeurs/solutions similaires,

Iulian

Répondre

2

La décision est d'implémenter ceci car aucune alternative ouverte n'est disponible.

+1

Tellement vrai. Je suis sur le point d'écrire le mien. Hehe ... –

0

La meilleure chose à faire est d'utiliser la même bibliothèque de journalisation que vous avez mentionné, mais ayant les codes spécifiques OS (comme: numéro de ligne, nom de fichier, communications série) séparé du code logique. Le code spécifique au système d'exploitation doit être contenu dans des fonctions ou des macros, puis appelé depuis le code logique.

Exemple:

#OS_LINE _LINE_ 
#OS_FILE _FILE_ 
#OS_SEND(a) Send(a) 

int log(void) 
{ 
    char msg[50]; 
    sprintf(msg, "line %i, %s", OS_LINE, OS_FILE); 
    OS_SEND(msg); 
    return 0; 
} 

Avec cela, vous pouvez réutiliser la bibliothèque en changeant simplement les macros spécifiques OS pour chaque périphérique.

+0

Merci. Je vais regarder dedans. Bien que cela ne m'offre pas une réelle efficacité quand il s'agit de la quantité de données transférées. Probablement je devrai le mettre en œuvre moi-même. – INS