How can I get the full string of PHP’s getTraceAsString()?

前端 未结 7 1392
南笙
南笙 2020-12-08 10:32

I\'m using getTraceAsString() to get a stack trace but the string is being truncated for some reason.

Example, an exception is thrown and I log the stri

7条回答
  •  生来不讨喜
    2020-12-08 11:03

    There is also the excellent jTraceEx recipe by Ernest Vogelsinger at https://www.php.net/manual/exception.gettraceasstring.php#114980, that supports chained exceptions and is formatted in a Java-like manner.

    Here is a comparison taken directly from his comment on php.net :

    Exception::getTraceAsString :

    #0 /var/htdocs/websites/sbdevel/public/index.php(70): seabird\test\C->exc()
    #1 /var/htdocs/websites/sbdevel/public/index.php(85): seabird\test\C->doexc()
    #2 /var/htdocs/websites/sbdevel/public/index.php(89): seabird\test\fail2()
    #3 /var/htdocs/websites/sbdevel/public/index.php(93): seabird\test\fail1()
    #4 {main}
    

    jTraceEx :

    Exception: Thrown from class C
     at seabird.test.C.exc(index.php:78)
     at seabird.test.C.doexc(index.php:70)
     at seabird.test.fail2(index.php:85)
     at seabird.test.fail1(index.php:89)
     at (main)(index.php:93)
    Caused by: Exception: Thrown from class B
     at seabird.test.B.exc(index.php:64)
     at seabird.test.C.exc(index.php:75)
     ... 4 more
    Caused by: Exception: Thrown from class A
     at seabird.test.A.exc(index.php:46)
     at seabird.test.B.exc(index.php:61)
     ... 5 more
    

提交回复
热议问题