예제 #1
1
        public override void Log(LoggingEntery LE)
        {
            IniFile Ini = new IniFile(Path.Combine(Environment.CurrentDirectory, "GoogleDocs.ini"));

            // nir start
                  ////////////////////////////////////////////////////////////////////////////
              // STEP 1: Configure how to perform OAuth 2.0
              ////////////////////////////////////////////////////////////////////////////

              // TODO: Update the following information with that obtained from
              // https://code.google.com/apis/console. After registering
              // your application, these will be provided for you.

              //string CLIENT_ID = "339569043085-6k0io9kdubi7a3g3jes4m76t614fkccr.apps.googleusercontent.com";

              // This is the OAuth 2.0 Client Secret retrieved
              // above.  Be sure to store this value securely.  Leaking this
              // value would enable others to act on behalf of your application!
              //string CLIENT_SECRET = "wWC4Wcb12RbQg4YuGWJtkh4j";

              // Space separated list of scopes for which to request access.
              //string SCOPE = "https://spreadsheets.google.com/feeds https://docs.google.com/feeds";

              // This is the Redirect URI for installed applications.
              // If you are building a web application, you have to set your
              // Redirect URI at https://code.google.com/apis/console.
              //tring REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob";

              ////////////////////////////////////////////////////////////////////////////
              // STEP 2: Set up the OAuth 2.0 object
              ////////////////////////////////////////////////////////////////////////////

              // OAuth2Parameters holds all the parameters related to OAuth 2.0.
              OAuth2Parameters parameters = new OAuth2Parameters();

              // Set your OAuth 2.0 Client Id (which you can register at
              // https://code.google.com/apis/console).
              parameters.ClientId = Ini.IniReadValue(ConnectSection,"ClientID");

              // Set your OAuth 2.0 Client Secret, which can be obtained at
              // https://code.google.com/apis/console.
              parameters.ClientSecret = Ini.IniReadValue(ConnectSection,"ClientSecret");

              // Set your Redirect URI, which can be registered at
              // https://code.google.com/apis/console.
              parameters.RedirectUri = Ini.IniReadValue(ConnectSection,"RedirectURI");

              // Set your refresh token
              parameters.RefreshToken = Ini.IniReadValue(ConnectSection,"RefreshToken");
              parameters.AccessToken = Ini.IniReadValue(ConnectSection,"LastAccessToken");

              // Set the scope for this particular service.
              parameters.Scope = Ini.IniReadValue(ConnectSection,"Scope");

              // Get the authorization url.  The user of your application must visit
              // this url in order to authorize with Google.  If you are building a
              // browser-based application, you can redirect the user to the authorization
              // url.
               //string authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters);
              //Console.WriteLine(authorizationUrl);
              //Console.WriteLine("Please visit the URL above to authorize your OAuth "
              //  + "request token.  Once that is complete, type in your access code to "
              //  + "continue...");

              ////////////////////////////////////////////////////////////////////////////
              // STEP 4: Get the Access Token
              ////////////////////////////////////////////////////////////////////////////

              // Once the user authorizes with Google, the request token can be exchanged
              // for a long-lived access token.  If you are building a browser-based
              // application, you should parse the incoming request token from the url and
              // set it in OAuthParameters before calling GetAccessToken().
              OAuthUtil.RefreshAccessToken(parameters);//parameters.AccessToken;
              Ini.IniWriteValue(ConnectSection,"LastAccessToken",parameters.AccessToken);
              // Console.WriteLine("OAuth Access Token: " + accessToken);

              ////////////////////////////////////////////////////////////////////////////
              // STEP 5: Make an OAuth authorized request to Google
              ////////////////////////////////////////////////////////////////////////////

              // Initialize the variables needed to make the request
              GOAuth2RequestFactory requestFactory =
              new GOAuth2RequestFactory(null, "OctoTipPlus", parameters);
              SpreadsheetsService myService = new SpreadsheetsService("OctoTipPlus");
              myService.RequestFactory = requestFactory;
            // nir end

            string User = Ini.IniReadValue("UserLogin","User");
            string Password = Ini.IniReadValue("UserLogin","Password");

            //	SpreadsheetsService myService = new SpreadsheetsService("MySpreadsheetIntegration-v1");
            //myService.setUserCredentials(User,Password);

            SpreadsheetQuery Squery = new SpreadsheetQuery();
            string Sender = LE.Sender;
            Squery.Title = Sender;
            Squery.Exact = true;
            SpreadsheetFeed Sfeed;
            try
            {
                Sfeed = myService.Query(Squery);
            }
            catch (Google.GData.Client.InvalidCredentialsException e)
            {
                throw(new Exception(string.Format("Credentials error in google acount for user:{0}",User),e));
            }

            if(Sfeed.Entries.Count == 0)
            {
                //DriveService service1 = new DriveService();

             	//service.SetAuthenticationToken(parameters.AccessToken);//.setUserCredentials(User,Password);
                //Google.GData.Client.GOAuth2RequestFactory requestf =  new Google.GData.Client.GOAuth2RequestFactory(null, "OctoTipPlus",parameters);
                OAuthUtil.RefreshAccessToken(parameters);//parameters.AccessToken;
              			Ini.IniWriteValue(ConnectSection,"LastAccessToken",parameters.AccessToken);
                Google.GData.Documents.DocumentsService service = new Google.GData.Documents.DocumentsService("OctoTipPlus");
                GOAuth2RequestFactory requestFactory2 =
              				new GOAuth2RequestFactory(null, "OctoTipPlus", parameters);
                service.RequestFactory = requestFactory2;
                //service.RequestFactory=requestf;
                // Instantiate a DocumentEntry object to be inserted.
                Google.GData.Documents.DocumentEntry entry = new Google.GData.Documents.DocumentEntry();

                // Set the document title
                entry.Title.Text = LE.Sender;

                // Add the document category
                entry.Categories.Add(Google.GData.Documents.DocumentEntry.SPREADSHEET_CATEGORY);

                // Make a request to the API and create the document.
                Google.GData.Documents.DocumentEntry newEntry = service.Insert(
                    Google.GData.Documents.DocumentsListQuery.documentsBaseUri, entry);

                Squery = new SpreadsheetQuery();
                Squery.Title = Sender;
                Squery.Exact = true;
                Sfeed = myService.Query(Squery);

            }

            SpreadsheetEntry spreadsheet = (SpreadsheetEntry)Sfeed.Entries[0];

            WorksheetEntry ProtocolWorksheetEntry=null;

            AtomLink link = spreadsheet.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);

            WorksheetQuery Wquery = new WorksheetQuery(link.HRef.ToString());
            WorksheetFeed Wfeed = myService.Query(Wquery);

            foreach (WorksheetEntry worksheet in Wfeed.Entries)
            {
                if (worksheet.Title.Text==LE.SubSender)
                {
                    ProtocolWorksheetEntry = worksheet;
                }
            }

            if (ProtocolWorksheetEntry==null)
            {
                // cteate new worksheet
                WorksheetEntry worksheet = new WorksheetEntry();
                worksheet.Title.Text = LE.SubSender;
                worksheet.Cols = 3;
                worksheet.Rows = 5;

                // Send the local representation of the worksheet to the API for
                // creation.  The URL to use here is the worksheet feed URL of our
                // spreadsheet.
                WorksheetFeed wsFeed = spreadsheet.Worksheets;
                ProtocolWorksheetEntry = myService.Insert(wsFeed, worksheet);

                CellFeed cellFeed= ProtocolWorksheetEntry.QueryCellFeed();

                CellEntry cellEntry= new CellEntry (1, 1,DateHeader);
                cellFeed.Insert(cellEntry);
                cellEntry= new CellEntry (1, 2, MessageHeader);
                cellFeed.Insert(cellEntry);

            }

            // Define the URL to request the list feed of the worksheet.
            AtomLink listFeedLink = ProtocolWorksheetEntry.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);

            // Fetch the list feed of the worksheet.
            ListQuery listQuery = new ListQuery(listFeedLink.HRef.ToString());
            ListFeed listFeed = myService.Query(listQuery);

            string Message = string.Format("{0}\n{1}",LE.Title,LE.Message);

            // Create a local representation of the new row.
            ListEntry row = new ListEntry();
            row.Elements.Add(new ListEntry.Custom() { LocalName = DateHeader, Value = DateTime.Now.ToString() });
            row.Elements.Add(new ListEntry.Custom() { LocalName = MessageHeader, Value = Message });

            // Send the new row to the API for insertion.
            myService.Insert(listFeed, row);
        }
예제 #2
0
 private EventLogEntryType GetEntryType(LoggingEntery.EnteryTypes LEET)
 {
     EventLogEntryType ET;
     switch (LEET)
     {
         case LoggingEntery.EnteryTypes.Warning:
             ET = EventLogEntryType.Warning;
             break;
         case LoggingEntery.EnteryTypes.Informational:
             ET = EventLogEntryType.Information;
             break;
         case LoggingEntery.EnteryTypes.Debug:
             ET = EventLogEntryType.Information;
             break;
         case LoggingEntery.EnteryTypes.Error:
             ET = EventLogEntryType.Error;
             break;
         case LoggingEntery.EnteryTypes.Critical:
             ET = EventLogEntryType.Error;
             break;
         default:
             ET = EventLogEntryType.Information;
             break;
     }
     return ET;
 }
예제 #3
0
        public override void Log(LoggingEntery LE)
        {
            string Subject = string.Format("{0}-{1}({2}):{3}", LE.EnteryType.ToString(), LE.Sender, LE.SubSender, LE.Title);
            string Body    = LE.Message;

            SendEmail(Subject, Body);
        }
예제 #4
0
 public override void Log(LoggingEntery LE)
 {
     FileInfo FI = new FileInfo(string.Format("{0}_{1}.log",LE.Sender,LE.SubSender));
     TextWriter TR = FI.AppendText();
     TR.WriteLine(string.Format("{0}\t{1}\t{2}",DateTime.Now,LE.EnteryType.ToString(),LE.Title));
     TR.WriteLine(string.Format("{0}",LE.Message));
     TR.Close();
 }
예제 #5
0
파일: Log.cs 프로젝트: oferfrid/OctoTip
 public static void LogEntery(LoggingEntery LE)
 {
     EventHandler<LogEnteryCreatedEventArgs> handler = Instance.LogEnteryCreated;
     if (handler != null)
     {
         handler(Instance, new LogEnteryCreatedEventArgs(LE) );
     }
 }
예제 #6
0
        public override void Log(LoggingEntery LE)
        {
            FileInfo   FI = new FileInfo(string.Format("{0}_{1}.log", LE.Sender, LE.SubSender));
            TextWriter TR = FI.AppendText();

            TR.WriteLine(string.Format("{0}\t{1}\t{2}", DateTime.Now, LE.EnteryType.ToString(), LE.Title));
            TR.WriteLine(string.Format("{0}", LE.Message));
            TR.Close();
        }
예제 #7
0
파일: Log.cs 프로젝트: oferfridsms1/OctoTip
        public static void LogEntery(LoggingEntery LE)
        {
            EventHandler <LogEnteryCreatedEventArgs> handler = Instance.LogEnteryCreated;

            if (handler != null)
            {
                handler(Instance, new LogEnteryCreatedEventArgs(LE));
            }
        }
예제 #8
0
        public override void Log(LoggingEntery LE)
        {
            // Create an EventLog instance and assign its source.
            EventLog myLog = new EventLog();
            myLog.Source = SourceName;

            // Write an informational entry to the event log.
            string Messeg = string.Format("{0}({1}): {2}\n--------------\n{3}",LE.Sender,LE.SubSender,LE.Title,LE.Message);
            myLog.WriteEntry(Messeg,GetEntryType(LE.EnteryType));
        }
예제 #9
0
        override public void Log(LoggingEntery LE)
        {
            // Create an EventLog instance and assign its source.
            EventLog myLog = new EventLog();

            myLog.Source = SourceName;

            // Write an informational entry to the event log.
            string Messeg = string.Format("{0}({1}): {2}\n--------------\n{3}", LE.Sender, LE.SubSender, LE.Title, LE.Message);

            myLog.WriteEntry(Messeg, GetEntryType(LE.EnteryType));
        }
예제 #10
0
        public void Notify(LoggingEntery LE)
        {
            //print to ErrorExtendedRichTextBox
            Color TextColor;
            switch (LE.EnteryType)
            {
                case LoggingEntery.EnteryTypes.Debug:
                TextColor = Color.Green;
                break;
                case LoggingEntery.EnteryTypes.Informational:
                    TextColor = Color.Black;
                    break;
                case LoggingEntery.EnteryTypes.Warning:
                    TextColor = Color.Yellow;
                    break;
                case LoggingEntery.EnteryTypes.Error:
                    TextColor = Color.DarkRed;
                    break;
                case LoggingEntery.EnteryTypes.Critical:
                    TextColor = Color.Red;
                    break;
                default:
                    TextColor = Color.Black;
                    break;
            }

            MethodInvoker LastErrorTextBoxInvoker = delegate
            {
                string Message = string.Format("{0} {1} ({2})\n{3}\n*************\n",DateTime.Now,LE.Title,LE.EnteryType,LE.Message);
                ErrorExtendedRichTextBox.AppendText(Message,TextColor);
            };
            ErrorExtendedRichTextBox.BeginInvoke(LastErrorTextBoxInvoker);

            //get selected notifyer

            System.Windows.Forms.CheckedListBox.CheckedItemCollection SelectedLoggers =  ActiveLoggersCheckedListBox.CheckedItems;
            foreach (Logger L in SelectedLoggers)
            {
                if (L.LoggigLevel >= (int)LE.EnteryType)
                {
                    try
                    {
                        L.Log(LE);
                    }
                    catch (Exception e)
                    {
                        System.Diagnostics.Debug.WriteLine(e.ToString());

                    }
                }
            }
        }
예제 #11
0
        public override void Log(LoggingEntery LE)
        {
            System.Diagnostics.Debug.WriteLine(string.Empty);

            System.Diagnostics.Debug.WriteLine("-----Start Log---------");
            System.Diagnostics.Debug.WriteLine("EnteryType:" + LE.EnteryType.ToString());

            System.Diagnostics.Debug.WriteLine("Sender:" + LE.Sender +"(" + LE.SubSender + ")");
            System.Diagnostics.Debug.WriteLine("Title:" + LE.Title);
            System.Diagnostics.Debug.WriteLine("Message:" + LE.Message);
            System.Diagnostics.Debug.WriteLine("EnteryType:" + LE.EnteryType.ToString());
            System.Diagnostics.Debug.WriteLine("-----end Log---------");
            System.Diagnostics.Debug.WriteLine(string.Empty);
        }
예제 #12
0
        public override void Log(LoggingEntery LE)
        {
            System.Diagnostics.Debug.WriteLine(string.Empty);

            System.Diagnostics.Debug.WriteLine("-----Start Log---------");
            System.Diagnostics.Debug.WriteLine("EnteryType:" + LE.EnteryType.ToString());

            System.Diagnostics.Debug.WriteLine("Sender:" + LE.Sender + "(" + LE.SubSender + ")");
            System.Diagnostics.Debug.WriteLine("Title:" + LE.Title);
            System.Diagnostics.Debug.WriteLine("Message:" + LE.Message);
            System.Diagnostics.Debug.WriteLine("EnteryType:" + LE.EnteryType.ToString());
            System.Diagnostics.Debug.WriteLine("-----end Log---------");
            System.Diagnostics.Debug.WriteLine(string.Empty);
        }
예제 #13
0
파일: Log.cs 프로젝트: oferfrid/OctoTip
 public LogEnteryCreatedEventArgs(LoggingEntery LE)
 {
     this._LE  = LE;
 }
예제 #14
0
 public override void Log(LoggingEntery LE)
 {
     string Subject = string.Format("{0}-{1}({2}):{3}",LE.EnteryType.ToString(),LE.Sender,LE.SubSender,LE.Title);
     string Body = LE.Message;
     SendEmail(Subject, Body);
 }
        public override void Log(LoggingEntery LE)
        {
            IniFile Ini = new IniFile(Path.Combine(Environment.CurrentDirectory, "GoogleDocs.ini"));

            // nir start
            ////////////////////////////////////////////////////////////////////////////
            // STEP 1: Configure how to perform OAuth 2.0
            ////////////////////////////////////////////////////////////////////////////

            // TODO: Update the following information with that obtained from
            // https://code.google.com/apis/console. After registering
            // your application, these will be provided for you.

            //string CLIENT_ID = "339569043085-6k0io9kdubi7a3g3jes4m76t614fkccr.apps.googleusercontent.com";

            // This is the OAuth 2.0 Client Secret retrieved
            // above.  Be sure to store this value securely.  Leaking this
            // value would enable others to act on behalf of your application!
            //string CLIENT_SECRET = "wWC4Wcb12RbQg4YuGWJtkh4j";

            // Space separated list of scopes for which to request access.
            //string SCOPE = "https://spreadsheets.google.com/feeds https://docs.google.com/feeds";

            // This is the Redirect URI for installed applications.
            // If you are building a web application, you have to set your
            // Redirect URI at https://code.google.com/apis/console.
            //tring REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob";

            ////////////////////////////////////////////////////////////////////////////
            // STEP 2: Set up the OAuth 2.0 object
            ////////////////////////////////////////////////////////////////////////////

            // OAuth2Parameters holds all the parameters related to OAuth 2.0.
            OAuth2Parameters parameters = new OAuth2Parameters();

            // Set your OAuth 2.0 Client Id (which you can register at
            // https://code.google.com/apis/console).
            parameters.ClientId = Ini.IniReadValue(ConnectSection, "ClientID");

            // Set your OAuth 2.0 Client Secret, which can be obtained at
            // https://code.google.com/apis/console.
            parameters.ClientSecret = Ini.IniReadValue(ConnectSection, "ClientSecret");

            // Set your Redirect URI, which can be registered at
            // https://code.google.com/apis/console.
            parameters.RedirectUri = Ini.IniReadValue(ConnectSection, "RedirectURI");

            // Set your refresh token
            parameters.RefreshToken = Ini.IniReadValue(ConnectSection, "RefreshToken");
            parameters.AccessToken  = Ini.IniReadValue(ConnectSection, "LastAccessToken");

            // Set the scope for this particular service.
            parameters.Scope = Ini.IniReadValue(ConnectSection, "Scope");

            // Get the authorization url.  The user of your application must visit
            // this url in order to authorize with Google.  If you are building a
            // browser-based application, you can redirect the user to the authorization
            // url.
            //string authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters);
            //Console.WriteLine(authorizationUrl);
            //Console.WriteLine("Please visit the URL above to authorize your OAuth "
            //  + "request token.  Once that is complete, type in your access code to "
            //  + "continue...");

            ////////////////////////////////////////////////////////////////////////////
            // STEP 4: Get the Access Token
            ////////////////////////////////////////////////////////////////////////////

            // Once the user authorizes with Google, the request token can be exchanged
            // for a long-lived access token.  If you are building a browser-based
            // application, you should parse the incoming request token from the url and
            // set it in OAuthParameters before calling GetAccessToken().
            OAuthUtil.RefreshAccessToken(parameters);//parameters.AccessToken;
            Ini.IniWriteValue(ConnectSection, "LastAccessToken", parameters.AccessToken);
            // Console.WriteLine("OAuth Access Token: " + accessToken);

            ////////////////////////////////////////////////////////////////////////////
            // STEP 5: Make an OAuth authorized request to Google
            ////////////////////////////////////////////////////////////////////////////

            // Initialize the variables needed to make the request
            GOAuth2RequestFactory requestFactory =
                new GOAuth2RequestFactory(null, "OctoTipPlus", parameters);
            SpreadsheetsService myService = new SpreadsheetsService("OctoTipPlus");

            myService.RequestFactory = requestFactory;
            // nir end

            string User     = Ini.IniReadValue("UserLogin", "User");
            string Password = Ini.IniReadValue("UserLogin", "Password");

            //	SpreadsheetsService myService = new SpreadsheetsService("MySpreadsheetIntegration-v1");
            //myService.setUserCredentials(User,Password);

            SpreadsheetQuery Squery = new SpreadsheetQuery();
            string           Sender = LE.Sender;

            Squery.Title = Sender;
            Squery.Exact = true;
            SpreadsheetFeed Sfeed;

            try
            {
                Sfeed = myService.Query(Squery);
            }
            catch (Google.GData.Client.InvalidCredentialsException e)
            {
                throw(new Exception(string.Format("Credentials error in google acount for user:{0}", User), e));
            }


            if (Sfeed.Entries.Count == 0)
            {
                //DriveService service1 = new DriveService();

                //service.SetAuthenticationToken(parameters.AccessToken);//.setUserCredentials(User,Password);
                //Google.GData.Client.GOAuth2RequestFactory requestf =  new Google.GData.Client.GOAuth2RequestFactory(null, "OctoTipPlus",parameters);
                OAuthUtil.RefreshAccessToken(parameters);                //parameters.AccessToken;
                Ini.IniWriteValue(ConnectSection, "LastAccessToken", parameters.AccessToken);
                Google.GData.Documents.DocumentsService service = new Google.GData.Documents.DocumentsService("OctoTipPlus");
                GOAuth2RequestFactory requestFactory2           =
                    new GOAuth2RequestFactory(null, "OctoTipPlus", parameters);
                service.RequestFactory = requestFactory2;
                //service.RequestFactory=requestf;
                // Instantiate a DocumentEntry object to be inserted.
                Google.GData.Documents.DocumentEntry entry = new Google.GData.Documents.DocumentEntry();

                // Set the document title
                entry.Title.Text = LE.Sender;

                // Add the document category
                entry.Categories.Add(Google.GData.Documents.DocumentEntry.SPREADSHEET_CATEGORY);

                // Make a request to the API and create the document.
                Google.GData.Documents.DocumentEntry newEntry = service.Insert(
                    Google.GData.Documents.DocumentsListQuery.documentsBaseUri, entry);

                Squery       = new SpreadsheetQuery();
                Squery.Title = Sender;
                Squery.Exact = true;
                Sfeed        = myService.Query(Squery);
            }


            SpreadsheetEntry spreadsheet = (SpreadsheetEntry)Sfeed.Entries[0];

            WorksheetEntry ProtocolWorksheetEntry = null;


            AtomLink link = spreadsheet.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);

            WorksheetQuery Wquery = new WorksheetQuery(link.HRef.ToString());
            WorksheetFeed  Wfeed  = myService.Query(Wquery);

            foreach (WorksheetEntry worksheet in Wfeed.Entries)
            {
                if (worksheet.Title.Text == LE.SubSender)
                {
                    ProtocolWorksheetEntry = worksheet;
                }
            }


            if (ProtocolWorksheetEntry == null)
            {
                // cteate new worksheet
                WorksheetEntry worksheet = new WorksheetEntry();
                worksheet.Title.Text = LE.SubSender;
                worksheet.Cols       = 3;
                worksheet.Rows       = 5;

                // Send the local representation of the worksheet to the API for
                // creation.  The URL to use here is the worksheet feed URL of our
                // spreadsheet.
                WorksheetFeed wsFeed = spreadsheet.Worksheets;
                ProtocolWorksheetEntry = myService.Insert(wsFeed, worksheet);



                CellFeed cellFeed = ProtocolWorksheetEntry.QueryCellFeed();

                CellEntry cellEntry = new CellEntry(1, 1, DateHeader);
                cellFeed.Insert(cellEntry);
                cellEntry = new CellEntry(1, 2, MessageHeader);
                cellFeed.Insert(cellEntry);
            }


            // Define the URL to request the list feed of the worksheet.
            AtomLink listFeedLink = ProtocolWorksheetEntry.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);

            // Fetch the list feed of the worksheet.
            ListQuery listQuery = new ListQuery(listFeedLink.HRef.ToString());
            ListFeed  listFeed  = myService.Query(listQuery);

            string Message = string.Format("{0}\n{1}", LE.Title, LE.Message);

            // Create a local representation of the new row.
            ListEntry row = new ListEntry();

            row.Elements.Add(new ListEntry.Custom()
            {
                LocalName = DateHeader, Value = DateTime.Now.ToString()
            });
            row.Elements.Add(new ListEntry.Custom()
            {
                LocalName = MessageHeader, Value = Message
            });


            // Send the new row to the API for insertion.
            myService.Insert(listFeed, row);
        }
예제 #16
0
파일: Log.cs 프로젝트: oferfridsms1/OctoTip
 public LogEnteryCreatedEventArgs(LoggingEntery LE)
 {
     this._LE = LE;
 }
예제 #17
0
파일: Logger.cs 프로젝트: oferfrid/OctoTip
 public abstract void Log(LoggingEntery LE);
예제 #18
0
 public abstract void Log(LoggingEntery LE);