diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index e4381dbbd64de5372d288cff8114a928b5349747..5701e73b05a92950be2b0e361cfb7f69319d127d 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -534,7 +534,7 @@ namespace
 	}
 	
 	
-	void commonInit(const std::string& dir)
+	void commonInit(const std::string& dir, bool log_to_stderr = true)
 	{
 		LLError::Settings::reset();
 		
@@ -542,7 +542,8 @@ namespace
 		LLError::setFatalFunction(LLError::crashAndLoop);
 		LLError::setTimeFunction(LLError::utcTime);
 
-		if (shouldLogToStderr())
+		// log_to_stderr is only false in the unit and integration tests to keep builds quieter
+		if (log_to_stderr && shouldLogToStderr())
 		{
 			LLError::addRecorder(new RecordToStderr(stderrLogWantsTime()));
 		}
@@ -580,9 +581,9 @@ namespace LLError
 #endif
 	}
 
-	void initForApplication(const std::string& dir)
+	void initForApplication(const std::string& dir, bool log_to_stderr)
 	{
-		commonInit(dir);
+		commonInit(dir, log_to_stderr);
 	}
 
 	void setPrintLocation(bool print)
diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h
index a72e9a48923ca8e52f996e3c463556c2caecb150..b65b4101531fb6d42be69dfe6ec4315f0f48acc9 100644
--- a/indra/llcommon/llerror.h
+++ b/indra/llcommon/llerror.h
@@ -35,7 +35,7 @@
 #include "stdtypes.h"
 
 
-/* Error Logging Facility
+/** Error Logging Facility
 
 	Information for most users:
 	
@@ -100,7 +100,6 @@
 	even release.  Which means you can use them to help debug even when deployed
 	to a real grid.
 */
-
 namespace LLError
 {
 	enum ELevel
diff --git a/indra/llcommon/llerrorcontrol.h b/indra/llcommon/llerrorcontrol.h
index ed9de002f5662418b62346bf321e52f454725b79..add983c60f309951b56e3e39d3bec8d2ee579b85 100644
--- a/indra/llcommon/llerrorcontrol.h
+++ b/indra/llcommon/llerrorcontrol.h
@@ -62,7 +62,7 @@ namespace LLError
 		// logs to stderr, syslog, and windows debug log
 		// the identity string is used for in the syslog
 
-	LL_COMMON_API void initForApplication(const std::string& dir);
+	LL_COMMON_API void initForApplication(const std::string& dir, bool log_to_stderr = true);
 		// resets all logging settings to defaults needed by applicaitons
 		// logs to stderr and windows debug log
 		// sets up log configuration from the file logcontrol.xml in dir
diff --git a/indra/test/test.cpp b/indra/test/test.cpp
index e58e7293fb754e544c5f2b6f927e2bb118d3e087..abe8f4f77b7aa666a7261618b18e4c6bd4ae95ee 100644
--- a/indra/test/test.cpp
+++ b/indra/test/test.cpp
@@ -113,13 +113,16 @@ class LLTestCallback : public tut::callback
 	virtual void run_started()
 	{
 		//std::cout << "run_started" << std::endl;
+		LL_INFOS("TestRunner")<<"Test Started"<< LL_ENDL;
 	}
 
 	virtual void group_started(const std::string& name) {
+		LL_INFOS("TestRunner")<<"Unit test group_started name=" << name << LL_ENDL;
 		*mStream << "Unit test group_started name=" << name << std::endl;
 	}
 
 	virtual void group_completed(const std::string& name) {
+		LL_INFOS("TestRunner")<<"Unit test group_completed name=" << name << LL_ENDL;
 		*mStream << "Unit test group_completed name=" << name << std::endl;
 	}
 
@@ -167,9 +170,11 @@ class LLTestCallback : public tut::callback
 			if(!tr.message.empty())
 			{
 				*mStream << ": '" << tr.message << "'";
+				LL_WARNS("TestRunner") << "not ok : "<<tr.message << LL_ENDL;
 			}
 			*mStream << std::endl;
 		}
+		LL_INFOS("TestRunner")<<out.str()<<LL_ENDL;
 	}
 
 	virtual int getFailedTests() const { return mFailedTests; }
@@ -389,11 +394,14 @@ int main(int argc, char **argv)
 #ifndef LL_WINDOWS
 	::testing::InitGoogleMock(&argc, argv);
 #endif
-	LLError::initForApplication(".");
+	LLError::initForApplication(".", false /* do not log to stderr */);
 	LLError::setFatalFunction(wouldHaveCrashed);
-	LLError::setDefaultLevel(LLError::LEVEL_ERROR);
-	//< *TODO: should come from error config file. Note that we
-	// have a command line option that sets this to debug.
+	LLError::setDefaultLevel(LLError::LEVEL_DEBUG);
+	LLError::setPrintLocation(true);
+	std::string test_app_name(argv[0]);
+	std::string test_log = test_app_name + ".log";
+	LLFile::remove(test_log);
+	LLError::logToFile(test_log);
 
 #ifdef CTYPE_WORKAROUND
 	ctype_workaround();