Log exception to file in c# .net core application explained

In production environment when any bug gets reported at that time as developer wants to get the exception details of bug to resolve the issue on high priority.
In some case there might be situation where exception is not logged in table but developer wants to check the bug immediately. for that purpose we need to write the
exception details including stack trace of bug in file. To implement this easily i am going to demonstrate the implementation of custom logging in file as below.

First we need to construct the exception and logger method in custom logger class as shown below.


public class CustomLogger { public static List<string> ConstructExceptionDetails(Exception ex,string FunctionName) { return new List<string>() { $"{DateTime.Now} - {FunctionName}", $"Exception: {ex.Message}", $"StackTrace: {ex.StackTrace}", $"InnerException: {ex.InnerException?.…

Restore the lost focus of Auto post back controls in asp.net update Panel control

Problem:
We put  autopostback controls like textbox, DropDownList controls inside in update panel to reducing the flickering of the Page.but when user uses tab for entering the details  the focus of the control losts. Web site users who prefer to use keyboard need to use mouse to activate appropriate input box or press TAB multiple times.

Solution:

Step 1:

Save following in js file give any name to it (like MyUpdatePanelFocus.js)

var lastFocusedControlId = "";

function focusHandler(e) {
    document.activeElement = e.originalTarget;
}

function appInit() {
    if (typeof (window.addEventListener) !== "undefined") {
        window.addEventListener("focus", focusHandler, true);
    }
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(pageLoadingHandler);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoadedHandler);
}

function pageLoadingHandler(sender, args) {
    lastFocusedControlId = typeof (document.activeElement) === "undefined"
        ? "" : document.activeElement.id;
}

function focusControl(targetControl) {
    if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
        var focusTarget = targetControl;
        if (focusTarget && (typeof (focusTarget.contentEditable) !== "undefined")) {
            oldContentEditableSetting = focusTarget.contentEditable;
            focusTarget.contentEditable = false;
        }
        else {
            focusTarget = null;
        }
        targetControl.focus();
        if (focusTarget) {
            focusTarget.contentEditable = oldContentEditableSetting;
        }
    }
    else {
        targetControl.focus();
    }
}

function pageLoadedHandler(sender, args) {
    if (typeof (lastFocusedControlId) !== "undefined" && lastFocusedControlId != "") {
        var newFocused = $get(lastFocusedControlId);
        if (newFocused) {
            focusControl(newFocused);
        }
    }
}

Sys.Application.add_init(appInit);

Step 2: Do the following setting in aspx page

    <asp:ScriptManager ID="c_scriptManager" runat="server">
        <Scripts>
            <asp:ScriptReference Path="~/MyUpdatePanelFocus.js" />
        </Scripts>
    </asp:ScriptManager>

That's it you have done it!!!!

Comments

  1. Thank you soooo much this is the only script i have found that has worked the way i wanted it to and was easy to implement.

    ReplyDelete
  2. GOOd work friend......keep it up.i am seraching thgis type code

    ReplyDelete
  3. Nice work, worked perfectly.

    ReplyDelete
  4. Hi,
    But it's not working in ModlelPopupExtender.
    u people having any solution.


    ReplyDelete
  5. oh nice yaar it is working ......thanks dear

    ReplyDelete
  6. Great Work.. After a long search got a perfect solution.

    ReplyDelete
  7. Really good concept (the most important pat). Great would be to also keep the cursor position for cases when user is in middle of editing.

    ReplyDelete
  8. realy great work!

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete

Post a Comment

Popular posts from this blog

Devexpress Datebox date formatting in angular 6 with example

Add Comma automatically while entering amounts in textbox using Javascript