Skip to content
Snippets Groups Projects
  1. Sep 29, 2020
  2. Sep 25, 2020
  3. Aug 24, 2020
  4. Mar 25, 2020
    • Nat Goodspeed's avatar
      DRTVWR-476: Make test program --debug switch work like LOGTEST=DEBUG. · 6b70493d
      Nat Goodspeed authored
      The comments within indra/test/test.cpp promise that --debug is, in fact, like
      LOGTEST=DEBUG. Until now, that was a lie. LOGTEST=level displayed log output
      on stderr as well as in testprogram.log, while --debug did not.
      
      Add LLError::logToStderr() function, and make initForApplication() (i.e.
      commonInit()) call that instead of instantiating RecordToStderr inline. Also
      call it when test.cpp recognizes --debug switch.
      
      Remove the mFileRecorder, mFixedBufferRecorder and mFileRecorderFileName
      members from SettingsConfig. That tactic doesn't scale.
      
      Instead, add findRecorder<RECORDER>() and removeRecorder<RECORDER>() template
      functions to locate (or remove) a RecorderPtr to an object of the specified
      subclass. Both are based on an underlying findRecorderPos<RECORDER>() template
      function. Since we never expect to manage more than a handful of RecorderPtrs,
      and since access to the deleted members is very much application setup rather
      than any kind of ongoing access, a search loop suffices.
      
      logToFile() uses removeRecorder<RecordToFile>() rather than removing
      mFileRecorder (the only use of mFileRecorder).
      
      logToFixedBuffer() uses removeRecorder<RecordToFixedBuffer>() rather than
      removing mFixedBufferRecorder (the only use of mFixedBufferRecorder).
      
      Make RecordToFile store the filename with which it was instantiated. Add a
      getFilename() method to retrieve it. logFileName() is now based on
      findRecorder<RecordToFile>() instead of mFileRecorderFileName (the only use of
      mFileRecorderFileName).
      
      Make RecordToStderr::mUseANSI a simple bool rather than a three-state enum,
      and set it immediately on construction. Apparently the reason it was set
      lazily was because it consults its own checkANSI() method, and of course
      'this' doesn't acquire the leaf class type until the constructor has completed
      successfully. But since nothing in checkANSI() depends on anything else in
      RecordToStderr, making it static solves that problem.
      6b70493d
  5. Oct 11, 2018
  6. Aug 24, 2018
  7. Jun 28, 2018
    • Nat Goodspeed's avatar
      DRTVWR-447: Suppress BugSplat UI; auto-fill certain BugSplat data. · cd52724e
      Nat Goodspeed authored
      Direct BugSplat to send crash reports without prompting, on both Windows and
      Mac.
      
      Add a mechanism by which code called after LL_ERRS() can retrieve the fatal
      log message string. (How did the crash logger extract that for Linden crash
      logging?)
      
      Add that fatal message to crash reports on Windows. But as BugsplatMac is
      engaged only on the run _after_ the crash, we no longer have that message in
      memory.
      
      Also add user name and region location to Windows crash reports. On Mac, (a)
      we don't have the information from the previous run and (b) BugsplatMac
      doesn't provide an API to attach that information to the crash report.
      
      Add Mac logging to indicate the success or failure of sending the crash
      report. Add Windows logging to indicate we're about to send.
      cd52724e
  8. Feb 27, 2017
  9. Nov 10, 2015
  10. Jun 25, 2015
    • Nat Goodspeed's avatar
      MAINT-5232: Try to avoid circularity between LLError and LLSingleton. · 0ea1b2a1
      Nat Goodspeed authored
      Part of LLError's logging infrastructure is implemented with an LLSingleton.
      Therefore, attempts to log from within LLSingleton machinery could potentially
      go south if LLError's LLSingleton is not yet initialized.
      Introduce LLError::is_available() in llerrorcontrol.h and llerror.cpp.
      Make LLSingletonBase::logwarns() and logerrs() consult LLError::is_available()
      before attempting to use LL_WARNS or LL_ERRS, respectively.
      Moreover, make all LLSingleton internal logging use logwarns() and logerrs()
      instead of directly engaging LL_ERRS or LL_WARNS.
      0ea1b2a1
  11. May 16, 2014
  12. Aug 12, 2013
  13. Jul 30, 2013
  14. Mar 29, 2013
  15. Jun 24, 2012
  16. Apr 23, 2012
    • Nat Goodspeed's avatar
      IQA-463: LLError::addRecorder() claims ownership of passed Recorder*. · eb1bea22
      Nat Goodspeed authored
      That is, when the underlying LLError::Settings object is destroyed -- possibly
      at termination, possibly on LLError::restoreSettings() -- the passed Recorder*
      is deleted.
      There was much existing code that seemed as unaware of this alarming fact as I
      was myself. Passing to addRecorder() a pointer to a stack object, or to a
      member of some other object, is just Bad. It might be preferable to make
      addRecorder() accept std::auto_ptr<Recorder> to make the ownership transfer
      more explicit -- or even boost::shared_ptr<Recorder> instead, which would
      allow the caller to either forget or retain the passed Recorder.
      This preliminary pass retains the Recorder* dumb pointer API, but documents
      the ownership issue, and eliminates known instances of passing pointers to
      anything but a standalone heap Recorder subclass object.
      eb1bea22
  17. Mar 05, 2012
    • Nat Goodspeed's avatar
      Make test.cpp support LOGFAIL env var: only failed tests show log. · f02ded46
      Nat Goodspeed authored
      Set LOGFAIL= one of ALL, DEBUG, INFO, WARN, ERROR, NONE. A passing test will
      run silently, as now; but a failing test will replay log output at the
      specified level or higher.
      While at it, support LOGTEST environment variable, same values. This is like
      setting --debug (or -d), but allows specifying an arbitrary level -- and,
      unlike --debug, can be set for a TeamCity build config without modifying any
      scripts or code.
      Publish LLError::decodeLevel(std::string), previously private to llerror.cpp.
      f02ded46
  18. Dec 23, 2011
  19. Oct 13, 2010
  20. Sep 21, 2010
  21. Aug 13, 2010
  22. Oct 13, 2009
  23. Aug 29, 2009
    • Steven Bennetts's avatar
      Partial merge of: viewer-2.0.0-3@131138 texture-pipeline-3@131862 -> viewer-2.0.0-3 · a1ed9ccf
      Steven Bennetts authored
      Includes:
      * DEV-31909 VWR-13251: Revise lscript_library.cpp to allow localization of LSL editor hovertips
      * DEV-21938 llSHA1String does not appear where expected in the dropdown "Insert" menu in the LSL editor
      * Some cleanup to llerror so that it doesn't depend on llfixedbuffer
      * A few misc. server specific changes not related to the texture-pipeline changes (llapp, lloptioninterface)
      a1ed9ccf
  24. Aug 27, 2009
  25. Jun 04, 2009
  26. May 22, 2009
    • Brad Kittenbrink's avatar
      DEV-27646 dll linkage for login module. · 01d39082
      Brad Kittenbrink authored
      Ok, finally got this to a point where it doesn't break the build and I can check
      in. llcommon can be built as a shared library (disabled but can be enabled with
      cmake cache var LLCOMMON_LINK_SHARED.
      
      reviewed by Mani on tuesday (I still need to get his suggested changes
      re-reviewed)
      01d39082
  27. May 08, 2009
  28. Jan 07, 2009
  29. Dec 23, 2008
  30. Oct 04, 2007
  31. Feb 05, 2007
Loading