Skip to main content

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

Comments

Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

What is SharePoint RPC Protocols? Part 1 This reference includes information about the methods and usage of SharePoint Foundation Remote Procedure Call (RPC) protocol. This protocol can be used in Win32-based applications or in ASPX applications to make HTTP POST requests to the server. Methods in this protocol that do not modify the contents of the database can also be used in URL protocol to make HTTP GET requests. Definition taken from http://msdn.microsoft.com/en-us/library/ms448359.aspx You will find the OWSSVR.DLL in SharePoint 2010 Server Physical Path: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI and MOSS C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI OWSSVR.DLL List of commands DialogView  Display ExportList GetProjSchema GetUsageBlob HitCounter RenderView To read more about the OWSSVR.DLL command Please read the URL Protocol from Microsoft Blog having a URL http://msdn.microsoft.com/en...

SharePoint 2013 Search Database Part 1

SharePoint 2013 Search architecture drastically change, as earlier in FS4SP 2010 we have 2 search applications “FASTContentSSA” and “FASTQuerySSA” and 7 total database in use. Following are the List of DB (FS4SP) FASTContentSSA Search Service Application DB Search Service Application Crawl Store DB Search Service Application Property Store DB FASTQuerySSA Search Service Application DB Search Service Application Crawl Store DB Search Service Application Property Store DB FASTSearchAdminDatabase : Fast Search Admin Database  In SharePoint 2013 search has only 1 Search Service application and 4 database in use. No property store database need any more, now the properties are directly stored inside the index component and all the index directly indexed to the physical system where FS4SP data comes from database as well as from the File system now data directly stored and indexed/ retried from the Physical disk because of this performance increase and search experien...

STS CryptographicException Error : Key set does not exist

Common mistakes Both SharePoint Site and SSO Site NOT running on the same application pool. Application pool identity user doesn’t have permission to access the certification.  Solution to this problem Set the same identity pool to  : 2. Be sure to grant rights to the certificate for the App Pool running the web service Start -> Run -> MMC File -> Add/Remove Snapin Add the Certificates Snap In Select Computer Account, then hit next Select Local Computer (the default), then click Finish On the left panel from Console Root, navigate to Certificates (Local Computer) -> Personal -> Certificates You're certificate will most likely be here. Right click on your certificate -> All Tasks -> Manage Private Keys Set you're private key settings here. Add app pool account Reset iis