This is a super useful class for unit testing and having it be static and use Environmental Variables for Mode setting makes it really difficult to use. Recommend making it non static so that you will not need to worry about instance counts. Just output each session into a separate file. You can use DateTime.Now to make it unique and if already exists add +1 to the name.