Scalable Logging Framework?
Short answer: public interface ILoggerTarget { void Log(string message); } Central Logger public class Logger { private readonly List<ILoggerTarget> targets = new(); public void AddTarget(ILoggerTarget target) => targets.Add(target); public void Log(string message) { foreach (var t in targets) t.Log(message); } } Supports: Console File Database Cloud Follows Open–Closed Principle.
Example code
public interface ILoggerTarget
{ void Log(string message); } Central Logger public class Logger
{
private readonly List<ILoggerTarget> targets = new();
public void AddTarget(ILoggerTarget target)
=> targets.Add(target);
public void Log(string message)
{
foreach (var t in targets) t.Log(message); }
} Supports: Console File Database Cloud Follows Open–Closed Principle.
Real-world example (ShopNest)
Answer with: definition → one ShopNest-style story → trade-off → how you would verify it in production.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png