À l'aide de log4net avec asp.net des formulaires web
Je suis en train d'intégrer log4net dans mon application web. Je l'ai déjà fait avec la nouvelle partie basé sur .net mvc, mais éprouve de la difficulté à les intégrer dans les formulaires web basé partie de mon application. J'ai regardé autour pour un exemple et n'ai pas rencontré un seul.
Afin de réduire ma question, que je sais comment faire pour configurer mon web.fichier de configuration. Mes questions sont les suivantes:
(1) j'ai considéré placer l'appel réel à log4net dans un "Global.asax" fichier ainsi que de la placer dans ma page de base (sur laquelle toutes les autres pages sont construites). Dois-je placer le code dans l'un de ces endroits, et si non, où dois-je mettre le code?
(2) Ma compréhension du code, c'est que j'ai besoin d'instancier un journal, et alors que le journal le journal de trucs quand je veux (les détails du journal étant pris en charge par le web.config), mais je ne sais pas ce que le code devrait vraiment l'air. Alors, quel code dois-je réellement placer dans mon dossier? (exemple serait appréciée)
Grâce
Salut, je cherchais moyen très facile pour enregistrer le journal avec log4net, de sorte que j'espère que cela est utile pour vous s'il vous plaît suivant que l'URL Comment utiliser Log4net de Nuget avec Visual Studio plate-forme dans le ASP.NET Web Formulaire (méthode Simple)
OriginalL'auteur crawfish | 2012-08-01
Vous devez vous connecter pour publier un commentaire.
il suffit de placer le code là où vous en avez besoin.
pour initier je viens d'utiliser cette ligne dans chaque page j'ai besoin d'elle...
si l'enregistreur prend le nom de la classe en cours, y compris l'espace de nom complet.
j'ai également utiliser l'enregistreur de données mondiale.asax par exemple l'enregistrement d'erreur
mais j'ai séparé la config journal à partir du web.config. il est plus facile pour moi et vous n'avez pas à manipuler de sorte de gros fichiers. je pense aussi que l'application n'est pas restartet, lorsque vous modifiez le journal de fichier de config. si vous mettez à jour le site web.config de l'application est toujours restartet autant que je sache.
pour ce faire vous avez juste besoin d'ajouter la suite sur le web.config
dans ajouter
que d'ajouter cette ligne quelque part dans le web.config
puis le fichier "log.config" a tous les auditeurs configuré. mais n'oubliez pas de copier le fichier sur votre production/environnement de test. sinon, vous pouvez obtenir des messages d'erreur étranges.
hth
il suffit de cocher msdn.microsoft.com/en-us/library/24395wz3.aspx
Savez-vous comment instancier l'enregistreur de données correctement dans le monde.asax fichier?
vous pouvez utiliser statique Enregistreur de journal = LogManager.GetLogger(Système D'.De la réflexion.MethodBase.GetCurrentMethod().DeclaringType); à chaque fois en fait... si vous avez besoin d'un nom spécial de type juste LogManager.GetLogger("Nom");
OriginalL'auteur nWorx
De le placer dans la page de base sonne comme une bonne idée, puis lors de l'instanciation de l'aide GetLogger vous pouvez passer à la page de connexion (en étant aussi précis que possible sur l'endroit où votre journal des appels viennent de vraiment l'aide de débogage). Vous aurez également besoin d'un appel à l' .Configurer après l'instanciation de qui est ce qui me prend toujours (besoin d'importer Log4Net.Configurer pour cela)
Place de votre auditeur config dans le web.config et de définir min/max des niveaux via LevelRangeFilter (DEBUG est la plus faible, FATALE est plus élevé).
L'utilisation est assez simple - il vous suffit de connecter avec le niveau requis, par exemple: log.Info, journal.InfoFormat, journal.Erreur, le journal.ErrorFormat (les formats de travail juste comme Chaîne de caractères.Format) - ce qui est en dessous du minimum configuré niveau d'enregistrement sera ignoré si vous pouvez mettre autant de la connexion comme vous le souhaitez.
Avez-vous également vérifié Elmah? Cela vous permet de suivre les exceptions non gérées. http://code.google.com/p/elmah/
OriginalL'auteur Cashley
Permettez-moi de partager mon expérience de l'utilisation de l'enregistreur. Généralement je l'utilise avec le CIO, le conteneur, c'est à dire de Windsor.
Si l'initialisation de l'enregistreur de je fais Mondiale.asax fichier, comme il est tenu une fois par app, et berore toutes les demandes. C'est l'endroit approprié pour initialiser l'enregistreur.
Comme pour l'endroit où vous devez appeler le journal, il n'y a pas de recommandation. Vous devriez appeler où vous en avez besoin.
Si vous vous connectez à certains événements en fonction de leur cycle de vie, de sûr, vous devriez utiliser l'enregistreur dans la page fichier code-behind. Mais si vous voulez trace de vos composants, mieux extraire des logiques distinctes de la bibliothèque et de l'utilisation de l'enregistreur de son sein.
OriginalL'auteur Johnny_D