Log4Net Custom Logger for SharePoint 2010 and 2013 (With Attached working Code)

What is the Problem
The big problem in SharePoint 2010/2013 to write the custom error to log files, whenever the error comes, the developer grab the associate correlation GUID and see the associated error in 14 hive folder. The log file also contains the bunch of other information as well. It would be great if somehow I can develop the custom logging feature for our project that is only specific to my project. It will reduced my effort and it would be a big win for me as a developer.



Solution
we would able to solve this problem by using 3rd party open source DLL “log4net” . We have written some custom classes to override the base function that would help us to write SharePoint logs into the 14 hive. These classes contain the logic for generating the logs under the same location, where the SharePoint logs are generated i.e 14 hives under different folder (This will help to get the exact information during the error and trace).

Solution Dependency Log4Net Dll

Important Configuration In SharePoint we will map the ISAPI folder and place the web.config file.



Web.config file make sure you have gave the right file reference “ApplicationRollingFileAppenderFullLogs” must be have correct type name ie you custom css file name space that pointing to the your custom Rolllingfile Appender file "CustomLoggerUsinglog4net. RollingFileAppender".Log4Net Custom logger is used to create the custom logger file that could be used for Under this folder: ISAPI\CustomLoggerUsinglog4net\Web.config




<threshold value="DEBUG" /> (On debugging Global)
<threshold value="OFF" /> (Global Debugging off)
Note: Please un-comment the below <threshold value="DEBUG" /> from the below attached code.


Code Implementation - Inside the Web Part


Log directory




To work this code on 2013 as well you would required to change the following lines of code.
File Name: CustomBaseLogger.cs
private static string m_spLogFolder = "C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\15\\LOGS";
File name: LoggerUtil.cs
String genericSetupPath=SPUtility.GetVersionedGenericSetupPath("ISAPI", 15);

Advantages of Custom Logger. 
1. Create the log in SharePoint as per the project.
2. Easily find the errors (no need to use the SharePoint ULS viewers).
3. Now SharePoint Errors and Our custom codes as can be categories using this method.


Source Code

Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

SharePoint 2016 JavaScript framework

STS CryptographicException Error : Key set does not exist