Джош имеет право. Взятие следов стека очень дорого, и его следует избегать. Трудно понять, что именно ты делаешь, но это звучит довольно плохо. Моим первым предложением было бы еще раз взглянуть на вашу производственную среду и посмотреть, какие службы ведения журналов уже существуют и как вы можете их использовать.
Если вы не можете, то я хотел бы изучить уже имеющиеся API, такие как Log4j, SLF4j и Commons, чтобы увидеть, как вы могли бы их использовать. Наконец, если вы все еще не можете его использовать, вы можете, по крайней мере, взглянуть на их источник, чтобы увидеть, как они работают. Также источник для JUnit выполняет анализ трассировки стека, если я правильно помню, так что есть еще один источник идей.
Но мое последнее слово было бы, чтобы все было как можно проще. Не ходите вокруг, создавая следы стека. Вообще говоря, вы действительно беспокоитесь о них только тогда, когда возникает исключение, а затем оно передается вам. Вам не нужно ничего делать, кроме как передать это.