Skip to content

Commit

Permalink
Merge pull request #60 from kadoshita/add-access-log
Browse files Browse the repository at this point in the history
add logger
  • Loading branch information
kadoshita authored Feb 11, 2020
2 parents db6c5e9 + d2c283c commit c5ed21c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
14 changes: 11 additions & 3 deletions Hubs/ShareHub.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.Extensions.Logging;

namespace live_share_editor.Hubs
{
public class ShareHub : Hub
{
private readonly ILogger _logger;
private static string ALPHANUMERIC = "abcdefghijklmnopqrstuvwxyz0123456789";
private static Random random = new Random();
private static List<string> EditorAlreadyExistsList = new List<string>();
Expand All @@ -20,18 +22,24 @@ private string GenerateSessionID()
{
return new string(Enumerable.Repeat(ALPHANUMERIC, 8).Select(s => s[random.Next(s.Length)]).ToArray());
}

public ShareHub(ILogger<ShareHub> logger)
{
_logger = logger;
}
public async Task JoinGroup(JoinGroupRequest req)
{
string sessionId = req.sessionId;
if (string.IsNullOrEmpty(sessionId))
{
sessionId = this.GenerateSessionID();
_logger.LogInformation($"GenerateSessionID: SessionID={sessionId}");
}
if (req.isEditor)
{
if (EditorAlreadyExistsList.Contains(sessionId))
{
Console.WriteLine($"{sessionId} Editor is already exists");
_logger.LogInformation($"EditorIsAlreadyExists: SessionID={sessionId}");
await Clients.Caller.SendAsync("Joined", new
{
Succeeded = false,
Expand All @@ -46,7 +54,7 @@ public async Task JoinGroup(JoinGroupRequest req)
}
}
await Groups.AddToGroupAsync(Context.ConnectionId, sessionId);
Console.WriteLine($"{Context.ConnectionId} joined {sessionId} as {(req.isEditor ? "Editor" : "Viewer")}");
_logger.LogInformation($"UserJoinGroup: ConnectionId={Context.ConnectionId} SessionID={sessionId} Role={(req.isEditor ? "Editor" : "Viewer")}");
await Clients.Caller.SendAsync("Joined", new
{
Succeeded = true,
Expand All @@ -60,7 +68,7 @@ public async Task JoinGroup(JoinGroupRequest req)
}
public void LeaveGroup(string sessionId)
{
Console.WriteLine($"{sessionId} Editor leave");
_logger.LogInformation($"LeaveGroup: SessionID={sessionId}");
EditorAlreadyExistsList.Remove(sessionId);
}
public async Task SendMessage(string sessionId, string message)
Expand Down
5 changes: 5 additions & 0 deletions Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ public static void Main(string[] args)

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
Expand Down

0 comments on commit c5ed21c

Please sign in to comment.