I'm not a Logic use, but I know that most (all?) DAWs have the ability to measure and compensate for both software plugin latency, as well as hardware latency - including any hardware processors you want to use (eg. an external reverb, delay, etc). Often you actually plug an output channel into an input channel, the DAW sends out a "ping" and measures the round-trip time. I've done this in Cubase, and also done it manually. One way to do it manually is to record the click track from your DAW, either by looping an output to an input, or even sticking a mic in front of your monitors. Then zoom in on the waveform and note how many samples off it is from the measure marker. It won't be a perfect square wave, but you can get pretty close. You can use that difference to adjust the playback and/or record latency (or 'offset') in your DAW. I also double check it by recording the click, turning off the metronome, then playing back the track and re-recording it to compare the two copies. Essentially what you're doing when adjusting the offset is telling the DAW "shift the track I just recorded forward in time n samples".