log4net avec ASP.NET 3.5 problèmes
Je vais avoir certaines difficultés log4net de travailler à partir de ASP.NET 3.5. C'est la première fois que j'ai essayé d'utiliser log4net, je me sens comme je suis en manque un morceau du puzzle.
Mon références du projet log4net de l'assemblée, et aussi loin que je peux dire, il est déployé avec succès sur mon serveur.
De mon site web.config contient les éléments suivants:
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler
, log4net"
requirePermission="false"/>
</configSections>
<log4net>
<appender name="InfoAppender" type="log4net.Appender.FileAppender">
<file value="..\..\logs\\InfoLog.html" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<logger name="_Default">
<level value="INFO" />
<appender-ref ref="InfoAppender" />
</logger>
</log4net>
J'utilise le code suivant pour tester l'enregistreur:
using log4net;
using log4net.Config;
public partial class _Default : System.Web.UI.Page
{
private static readonly ILog log = LogManager.GetLogger("_Default");
protected void Page_Load(object sender, EventArgs e)
{
log.Info("Hello logging world!");
}
}
Dans mon Global.asax, je suis en train de faire les suivants:
void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
}
À ce stade, je ne peux pas penser à quoi d'autre je pourrais peut être faire du mal. Le répertoire que je suis en train de stocker le journal est accessible en écriture, et même si j'essaie de différents répertoires-je obtenir le même résultat: aucun fichier, pas de journaux.
Des suggestions? 🙂
Edit: j'ai essayé plusieurs formats différents pour le chemin & nom du fichier journal, parmi lesquels "..\..\InfoLog.html", "InfoLog.html", "logs\InfoLog.html", etc, juste au cas où quelqu'un se demande si c'est ça le problème.
Edit: j'ai ajouté la racine de l'enregistreur de nœud dans l'log4net l'article, j'ai oublié que sur les accidents lors de la copie à partir des échantillons. La racine de l'enregistreur de nœud ressemble à ceci:
<root>
<level value="INFO" />
<appender-ref ref="InfoAppender" />
</root>
Même avec elle, cependant, je suis toujours en avoir pas de chance.
OriginalL'auteur Rob | 2008-10-22
Vous devez vous connecter pour publier un commentaire.
La racine enregistreur est obligatoire je pense. Je soupçonne la configuration échoue parce que la racine n'existe pas.
Un autre problème potentiel est que de Configurer n'est pas de se faire remarquer sur le Web.config.
Essayez De Configurer Le Serveur.MapPath("~/web.config")) à la place.
Je suis en train d'ajouter la racine de l'enregistreur de retour à mon site web.config maintenant, j'espère que ça va résoudre ce problème 🙂
J'ai essayé la racine logger - pas de chance 🙁
Laisser racine, changer votre cible log fichier d'un chemin absolu. Et de tenter ma Configurer suggestion aussi.
J'ai eu un coup d'oeil à mon code. Mon set up a la log4net de configuration dans un fichier différent - log4net.config, et j'utilise la configuration de Serveur.MapPath("~/log4net.config")). Qui fonctionne pour mon ASP.NET app
OriginalL'auteur CVertex
Il ressemble beaucoup à un fichier d'autorisations de problème pour moi. Si vous spécifiez un nom de fichier sans chemin d'accès, log4net va écrire dans le répertoire racine de l'application web. Essayez que. En l'absence de toute réussite, je vous recommande de vous permettre interne log4net de débogage en mettant celui-ci dans votre site web.config:
Puis, déployer l'application compilé en mode debug et d'exécuter le visual studio remote debugger pour voir toutes les erreurs qui sont jetés.
désolé, pas de mise en forme XML dans les commentaires.
L'activation du traçage comme Kay mentionné, c'est une bonne astuce. Je ne menait nulle part jusqu'à ce que j'ai fait et trouvé les erreurs.
OriginalL'auteur Chris
Iv viens de passer 3 heures à essayer de résoudre ce problème est la fin, c'était le web.config mise en forme.
J'ai eu cela, et ça ne fonctionne pas:
changer c'est pour cela qu'il est corrigé:
Ennuyeux!!
OriginalL'auteur Dan
Juste pour info: le chemin d'accès au fichier doit être formaté comme suit:
OriginalL'auteur
Un simple tutoriel de configuration de CodeProject
OriginalL'auteur Yordan Georgiev
Je n'ai pas le Mondial.asx à exécuter .net 3.5
c'est mon code... je configurer le log4net dans un fichier séparé log4net.config
OriginalL'auteur Herries E
j'ai eu le même (frustrant) problème. j'ai déménagé de la racine vers le haut de la log4net section de configuration et tout a bien fonctionné. Aussi, j'ai trop eu de racine et d'un enregistreur élément, ce qui a entraîné deux lignes à chaque fois que je fait un appel à l'enregistreur. j'ai enlevé l'enregistreur élément et tout simplement de garder la racine et de son bon fonctionnement.
OriginalL'auteur Sean Rock
Comment sur la création de l'enregistreur de la page, comme ceci:
OriginalL'auteur Pawel Krakowiak
C'est ce que j'ai Mondiale.ASX. J'ai tout de travail dans asp.net 3.5
OriginalL'auteur