You can do something like ```d enum LogSettings { func1,func2,func3 } alias logger!LogSettings logf; void func1() { logf(...); } ``` Then the logger can inspect symbols in the template argument and compare their names to the function name.