| 
		
	
	
	
		
	Сообщений: 9 
	Тем: 5 
	Зарегистрирован: May 2011
	
 Репутация: 
0 
	
	
		Здравствуйте подскажите как выводить stackTrace исключения в файл. 
В данный момент в Windows лог файл создаю так: 
 Код: java -Xmx32m -cp mysql-connector-java-5.1.18-bin.jar; ServerSide >> stdout.log
в коде ошибка выводится так 
 Код: catch (SQLException ex) {            System.out.println(ex.toString());
 ex.printStackTrace();
 }
System.out.println(ex.toString()); попадает в stdout.log 
а ex.printStackTrace(); пишется в консоль а в лог файл не попадает, подскажите пожалуйста как можно вывести стек трейс в файл.
	 
	
	
	
		
	Сообщений: 1,759 
	Тем: 13 
	Зарегистрирован: May 2011
	
 Репутация: 
3,205 
	
	
		ну так напишите простеньку писалку лога в файл
	 
	
	
	
		
	Сообщений: 1,912 
	Тем: 56 
	Зарегистрирован: Jan 2009
	
 Репутация: 
12,921 
	
	
		StringWriter st = new StringWriter();
 ex.printStackTrace(st);
 
 st.toString() - строка с трейсом
 
	
	
	
		
	Сообщений: 2,454 
	Тем: 53 
	Зарегистрирован: Apr 2010
	
 Репутация: 
19,728 
	
	
		Используйте дополнительные библиотеки от Apache-сообщества, там все делается буквально в одну-две строчки. Если же их по какой-либо причине невозможно использовать, то записать куда-либо трассировку стека, можно через принт стрим или же принт врайтер. Причем врайтер мы можем обернуть в стринг врайтер, а дальше делать уже, что хотим    
А вообще хорошо читать время от времени javadoc  стандартной библиотеки.
	
m0nster.art - clear client patches, linkz to utils & code. 
Гадаю по капче.
 
	
	
	
		
	Сообщений: 2,302 
	Тем: 24 
	Зарегистрирован: Sep 2010
	
 Репутация: 
5,617 
	
	
		для log4j например: 
Конфиг аппендера:
 Код: <appender name="ERROR_APPENDER" class="l2god.log.appenders.TruncateToZipFileAppender"><param name="file" value="log/java/errors.log"/>
 <param name="append" value="false"/>
 <param name="backupDir" value="log/backup"/>
 <!-- Windows systems doesn't support : char in file names -->
 <param name="backupDateFormat" value="yyyy-MM-dd HH-mm-ss"/>
 <layout class="org.apache.log4j.PatternLayout">
 <param name="ConversionPattern" value="[%p %d{yyyy-MM-dd HH:mm:ss}] %c:%L - %m%n"/>
 </layout>
 <filter class="l2god.log.filters.ThrowablePresentFilter"/>
 </appender>
и собсно сам фильтр
 Код: public class ThrowableAsMessageLogger extends Logger{
 
 /**
 * Creates new instance of this logger
 *
 * @param name logger's name
 */
 protected ThrowableAsMessageLogger(String name)
 {
 super(name);
 }
 
 /**
 * This method checks if message is instance of throwbale and throwable is null. If it is so it will move message to
 * throwable and set Locationalized message of throwable as message of the log record
 *
 * @param fqcn    fully qualified class name, it would be used to get the line of call
 * @param level   level of log record
 * @param message message of log record
 * @param t       throwable, if any present
 */
 @Override
 protected void forcedLog(String fqcn, Priority level, Object message, Throwable t)
 {
 
 if (message instanceof Throwable && t == null)
 {
 t = (Throwable) message;
 message = t.getLocalizedMessage();
 }
 
 super.forcedLog(fqcn, level, message, t);
 }
 }
 
	
	
	
		
	Сообщений: 123 
	Тем: 2 
	Зарегистрирован: Sep 2008
	
 Репутация: 
1,861 
	
	
		А вот так не пробывали?    Код: java -Xmx32m -cp mysql-connector-java-5.1.18-bin.jar; ServerSide >> stdout.log 2>&1
 
	
	
	
		
	Сообщений: 104 
	Тем: 13 
	Зарегистрирован: May 2011
	
 Репутация: 
-16 
	
	
		ASevenfold Написал:Используйте дополнительные библиотеки от Apache-сообщества, там все делается буквально в одну-две строчки. Да чувак, ну ты и сказанул, сразу ясно с апачем ты не работал.
	 
	
	
	
		
	Сообщений: 509 
	Тем: 7 
	Зарегистрирован: Apr 2008
	
 Репутация: 
1,660 
	
	
		Хлорка Написал:Да чувак, ну ты и сказанул, сразу ясно с апачем ты не работал. 
по сравнению с JUL (jdk 1.4 java.util.logging) commons-logging просто шедевр. 
 
P.S. Пользуюсь slf4j + logback / log4j :]
	 
	
	
	
		
	Сообщений: 2,454 
	Тем: 53 
	Зарегистрирован: Apr 2010
	
 Репутация: 
19,728 
	
	
		Хлорка Написал:Да чувак, ну ты и сказанул, сразу ясно с апачем ты не работал. 
			2Хлорка Я ничего не буду писать, я просто оставлю это тут: ![[Изображение: image.png]](http://rghost.ru/37483385/image.png)  
Хотя нет, я все же скажу:
Apache commons Clear javaКод: ExceptionUtils.getStackTrace(e);
Код: StringWriter sw = new StringWriter();t.printStackTrace(sw);
 sw.toString();
 Aquanox Написал:по сравнению с JUL (jdk 1.4 java.util.logging) commons-logging просто шедевр. 
 P.S. Пользуюсь slf4j + logback / log4j :]
 Я говорил в данном случае, про commons-lang библиотеку    
m0nster.art - clear client patches, linkz to utils & code. 
Гадаю по капче.
 
	
	
	
		
	Сообщений: 509 
	Тем: 7 
	Зарегистрирован: Apr 2008
	
 Репутация: 
1,660 
	
	
		ASevenfold Написал:Я говорил в данном случае, про commons-lang библиотеку  Забыл за нее, редко пользуюсь.  
 
Раз stacktrace для вывода используется то лучше всетаки использовать  логгер.
	 |