added trace logging

This commit is contained in:
2019-06-14 19:16:44 +02:00
parent 2a75d2a1fe
commit aa478dbf9f

View File

@ -7,12 +7,14 @@ import de.muehlencord.shared.network.mail.MailReaderConnectionException;
import de.muehlencord.shared.network.mail.MailReaderException;
import java.net.URI;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.List;
import microsoft.exchange.webservices.data.autodiscover.IAutodiscoverRedirectionUrl;
import microsoft.exchange.webservices.data.core.ExchangeService;
import microsoft.exchange.webservices.data.core.PropertySet;
import microsoft.exchange.webservices.data.core.enumeration.misc.ExchangeVersion;
import microsoft.exchange.webservices.data.core.enumeration.misc.TraceFlags;
import microsoft.exchange.webservices.data.core.enumeration.property.BasePropertySet;
import microsoft.exchange.webservices.data.core.enumeration.property.WellKnownFolderName;
import microsoft.exchange.webservices.data.core.exception.service.local.ServiceLocalException;
@ -21,6 +23,7 @@ import microsoft.exchange.webservices.data.core.service.item.Item;
import microsoft.exchange.webservices.data.core.service.schema.EmailMessageSchema;
import microsoft.exchange.webservices.data.credential.ExchangeCredentials;
import microsoft.exchange.webservices.data.credential.WebCredentials;
import microsoft.exchange.webservices.data.misc.ITraceListener;
import microsoft.exchange.webservices.data.property.complex.InternetMessageHeaderCollection;
import microsoft.exchange.webservices.data.search.FindFoldersResults;
import microsoft.exchange.webservices.data.search.FindItemsResults;
@ -53,6 +56,17 @@ public class ExchangeMailReader implements MailReader {
String emailAddress = getConfiguration().getEmailAddress();
service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
// enable trace logging
service.setTraceEnabled(true);
service.setTraceFlags(EnumSet.allOf(TraceFlags.class)); // can also be restricted
service.setTraceListener(new ITraceListener() {
public void trace(String traceType, String traceMessage) {
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Type: {}, Message: {}", traceType, traceMessage);
}
}
});
service.getHttpHeaders().put("cookie-policy", "standard");
ExchangeCredentials credentials = new WebCredentials(userName, password);
service.setCredentials(credentials);