2012-01-30 7 views
1

Je dois implémenter une stratégie de consignation pour une application WPF qui s'exécutera sur le bureau du client de l'application. J'utilise le bloc de mise en cache de la bibliothèque d'entreprise (v5) et il y a beaucoup de fonctionnalités géniales. Cependant, je ne veux pas révéler trop d'informations sur la façon dont la logique métier fait son affaire. Ce sorta est en conflit avec un facile à consommer des messages de journal. D'une part, j'ai besoin d'enregistrer autant d'informations que possible pour fournir un support de débogage. D'un autre côté, je ne veux pas révéler trop d'informations qui pourraient permettre la rétro-ingénierie en lisant les fichiers journaux.Stratégie de consignation côté client

J'ai d'abord pensé à hacher les noms de classe et à attribuer un identifiant int à chaque méthode, puis à consigner cette information du côté client. Cela réduirait la quantité d'informations pouvant être utilisées à des fins inattendues, mais n'est pas très efficace lorsque je dois lire les fichiers et retransmettre les identifiants hachés dans les noms de classe.

Quelqu'un a de l'expérience avec ce problème, de bons articles à ce sujet?

Merci.

+0

qui lit ce journal? est-ce activé par défaut? –

+0

Ce seront les utilisateurs de l'application cliente WPF. Il pourrait ne pas être activé jusqu'à ce que quelqu'un me signale des erreurs, à quel point je leur demanderais d'activer la journalisation et de m'envoyer le fichier journal pour pouvoir déboguer – Aaron

+1

si ce n'est pas quelque chose qui est activé par défaut ou facilement trouvé, puis l'obscurcir ne va ralentir votre débogage des erreurs. –

Répondre

1

Si ce journal est destiné à être activé uniquement lorsque des erreurs ou des problèmes se produisent et que vous devez le lire, je ne voudrais pas déranger en essayant d'obscurcir le journal pour masquer la «logique métier» des utilisateurs. L'obfuscation ne fera que ralentir le débogage du problème, et comme vous le supposez, si quelqu'un veut vraiment regarder votre logique métier, il peut simplement obtenir un désassembleur.

Je pense que vous trouverez que la plupart des utilisateurs ne prennent même pas la peine de regarder quoi que ce soit *.log.