Синглтоны должны быть запечатаны, точка.В противном случае на практике они могут не быть синглетонами.
Конечно, вы можете использовать контейнер IOC, такой как StructureMap, Autofac или Castle Windsor, для управления образом жизни вашего класса;тогда вам не нужно записывать его как синглтон, просто объявите его в контейнере IOC как синглтон.
При этом, глядя на ваш конкретный пример (вы хотите протоколировать), вам может не понадобитьсяСинглтон класс для этого.Вы используете синглтон только в том случае, если для этого есть очень веская причина, например, серьезные накладные расходы при создании объекта.Но открытие текстового файла для записи не считается значительными накладными расходами ...