Если вы хотите, чтобы ваша строка не соответствовала, если она содержит |
, вы можете просто использовать это регулярное выражение,
^logger\([^|]*$
Демо
Вам не нужен отрицательный взгляд вперед, если вы хотите потерпеть неудачу в сопоставлении только из-за одного символа и можете использовать набор отрицательных символов для таких случаев использования, как этот [^|]