Inte riktigt. Så här fungerar DBMS_OUTPUT:Ditt PL/SQL-block körs på databasservern utan interaktion med klienten. Så när du anropar PUT_LINE är det bara att lägga den texten i en buffert i minnet på servern. När ditt PL/SQL-block är klart, returneras kontrollen till klienten (jag antar SQLPlus i det här fallet); vid den tidpunkten hämtar klienten texten ur bufferten genom att anropa GET_LINE och visar den.
Så det enda sättet du kan få utdata att visas i loggfilen oftare är att dela upp ett stort PL/SQL-block i flera mindre block, så att kontrollen återförs till klienten oftare. Detta kanske inte är praktiskt beroende på vad din kod gör.
Andra alternativ är att använda UTL_FILE för att skriva till en textfil, som kan tömmas när du vill, eller använda en autonom transaktionsprocedur för att infoga felsökningssatser i en databastabell och commit efter varje.