This question already has an answer here:

In SharePoint on premises, we have correlation ID and ULS logs, we also have developer Dashboard. But how do we troubleshoot issues in SharePoint online.

marked as duplicate by Atish Dipongkor - MVP, Danny '365CSI' Engelman, Waqas Sarwar MVP, Robert Lindgren Dec 7 '15 at 13:11

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


Did you try this?

using Microsoft.Online.SharePoint.TenantAdministration;
using Microsoft.SharePoint.Client;
using System;
using System.Security;

namespace ViewSPOLog
    class Program
        static void Main(string[] args)
            //Open the Tenant Administration Context with the Tenant Admin Url
            using (var tenantContext = new ClientContext("https://yoursite-admin.sharepoint.com/"))
                //Authenticate with a Tenant Administrator
                var passWord = new SecureString();
                foreach (char c in "password".ToCharArray()) passWord.AppendChar(c);
                tenantContext.Credentials = new SharePointOnlineCredentials("admin@yoursite.onmicrosoft.com", passWord);

                var tenant = new Tenant(tenantContext);

                var tenantLog = new TenantLog(tenantContext);

                var dateTimeUTCNow = DateTime.UtcNow;

                //Get 50 Rows of Tenant Log Entries starting from 5 days ago till now.
                var logEntries = tenantLog.GetEntries(dateTimeUTCNow.AddDays(-5), dateTimeUTCNow, 50);

                //Get 50 Rows of Tenant Log Entries of the specified CorrelationId starting from 5 days ago till now
                //var logEntries = tenantLog.GetEntriesByCorrelationId(dateTimeUTCNow.AddDays(-5), dateTimeUTCNow, 50, new Guid("ae2b1e34-12eb-4652-a0db-ce4ab916c74e"));

                //Get 50 Rows of Tenant Log Entries of the specified Source starting from 5 days ago till now.
                //var logEntries = tenantLog.GetEntriesBySource(dateTimeUTCNow.AddDays(-5), dateTimeUTCNow, 50, 1);

                //Get 50 Rows of Tenant Log Entries of the specified User starting from 5 days ago till now.
                //var logEntries = tenantLog.GetEntriesByUser(dateTimeUTCNow.AddDays(-5), dateTimeUTCNow, 50, "admin@yoursite.onmicrosoft.com");



                foreach (TenantLogEntry logEntry in logEntries)
                    Console.WriteLine(string.Format("Timestamp:{0} | Message:{1} | CorrelationId:{2} | Source:{3} | User:{4} | CategoryId:{5}",
                        logEntry.TimestampUtc, logEntry.Message, logEntry.CorrelationId , logEntry.Source , logEntry.User, logEntry.CategoryId)); 

                Console.WriteLine("Press Any Key to Exit...");

Not the answer you're looking for? Browse other questions tagged or ask your own question.