program start -> initialize logger <> -> get the logger <> -> use fork() to create threads -> wait for threads to die #### child start -> change NDC <push($NDC)>> -> do their thing, including using customer modules #### use Log::Log4perl (get_logger); my $logger = get_logger(); sub sayHello { $logger->info("Hello world!"); }